Java Assignment3
Important Notes
3.
1. The assignment is an individual project, to be finished on one’s own effort.
2. 20% mark deduction will be given for late submission within 2 days, and 0 for even later;
Plagiarism is strictly forbidden, regardless of the role in the process. Notably, ten consecutive
lines of identical codes are treated as plagiarism. Using AI to directly generate code will also
be regarded as plagiarism. Depending on the seriousness of the plagiarism, 30% − 100% marks
will be deducted.
Marking Criterion
1. The full score of the assignment is 300 marks.
2. Three java programs are to be submitted. Each program will be evaluated with several unseen
test cases. A submission obtains the full score if and only if both programs pass all test cases.
Running Environment
1. The submissions will be evaluated in the OJ system running Java SDK 21. It is the students’
responsibility to make sure that his/her submissions are compatible with the OJ system.
2. The submission is only allowed to import four packages of (java.lang.*; java.util.*; java.math.*;
java.io.*) included in Java SDK, and StdIn / StdOut from textbook. No other packages are
allowed.
3. All students will have an opportunity to test their programs in the OJ platform prior to the
official submission.
Submission Guidelines
1. You will get your grade only if you submit your code both on OJ and on bb on time.
2. For bb submission, you need to directly upload your java file on bb. That is, your submission should be BanishLetter.java, W ordSearching.java, and M athExpr2.java. Wrong
submission format will receive 10% mark deduction.
3. Inconsistency with or violation from the guideline leads to marks deduction.
4. All students are reminded to read this assignment document carefully and in detail. No argument will be accepted on issues that have been specified in this document.
1
Programs
There are 3 independent programs in this assignment, and each is worth 100 points.
Banish Letter
Given multiple char values and strings, write a Java program named ”BanishLetter.java” that delete
all the given char values from the strings.
Input: The first line contains multiple char values C = {c1, c2, ..., cn}, each seperated by a space.
The second line is a positive integer T, followed by T lines of strings.
Output: For each string s, delete all characters c ∈ s such that c ∈ C, and output the result.
That is, the output should be T lines. There’s no extra space at the end of a line, or extra blank
row between two lines.
For all test cases, 1 ≤ T ≤ 100, 1 ≤ length of s ≤ 30, 1 ≤ n ≤ 30. All ci ∈ C and characters
in strings are upper case letters, or lower case letters, or digits.
An example of console input Expected console output
o l k
1
HelloWorld
HeWrd
An example of console input Expected console output
C 0 S
3
CSC2003
cuhksz
Switch
23
cuhksz
witch
WordSearching
Given an m × n 2D character grid board and multiple string words. For each word ∈ words, print
true if word exists in the grid, and print false otherwise.
A word must be formed from letters in adjacent cells in right order, where ”adjacent” cells are
those that are adjacent horizontally or vertically. Letters in the same cell are not allowed to be used
repeatedly.
Hint: You can refer to the following example for better understanding.
Input: The first line contains 2 integers m, n, each separated by a space. Then, for the following m lines, each line contains n capital letters separated by a space. Then, the following line is a
integer T; for the following T lines, each line contains a string consisting of only capital letters.
Output: For each string, output true if the string exists in the grid, and output false otherwise.
For all test cases, 1 ≤ m, n ≤ 30, 1 ≤ T ≤ 10, and 1 ≤ the length of each string ≤ 30.
2
An example of console input Expected console output
3 4
I A X R
S I R I
R I T S
1
IRIS
true
An example of console input Expected console output
3 4
C B C B
A D B A
D B C B
3
ABCBA
CBCBA
DBCBDB
false
true
true
Math Expression 2
Write a Java Program (MathExpr2.java) with the following requirement.
(1) It evaluates the value of math expressions, and outputs an integer value.
(2) Each math expression includes (see the example below): numbers (integers and doubles); operators of “+” (addition), “-“ (subtraction), “*” (multiplication) and “/” (division); functions
including “sin” (sine function), “cos” (cosine function), “tan” (tangent function) and “sqrt”
(square root function); “(“ and “)” (brackets); possibly blank space.
(3) All expressions are valid. The output is an integer value after rounding.
3
Input: The first line is a integer T. For the following T lines, each contains a math expression.
Output: T lines, each containing a integer, which is the result of the corresponding expression.
For all test cases, 1 ≤ T ≤ 30, and 1 ≤ length of a expression ≤ 50.
An example of console input Expected console output
8
1+2.0*sin(37+(25*3))
(2+ 3.50)*4 *sqrt(sin(1.5))
-3+4/ (2.5+3.7)
(-3+4)/2.5+3.9
1.2-3.5* 5.2 -13.2
1.2-3.5*5.2-13.7
2.3*5*7 - 12*9/8
-sin(3.5-sqrt(4)) + cos(tan(2.5))
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp
- HGC环电强化国际业务领导架构 谭君骥及Ravindran Mahalingam分别担任专精职务
- 海伯森六维力传感器:助力人形机器人产业发展的创新力量
- 达闼董事长黄晓庆:以技术破局致胜从未止步
- 从辅助到核心,企业如何基于AI Agent升级品牌数字营销
- 国产2.5亿超高分辨率图像传感器发布,主要面向机器视觉领域
- 西部数据推出多款超高速、大容量存储解决方案
- 中关村e谷承办“科创耀未来 奋进谱新篇”企业家创新论坛圆满落幕
- 航科卫星“汕头数字一号”卫星发射成功!
- Gartner 最新魔力象限出炉!ManageEngine卓豪成功入围
- 科技重塑物流,英特尔&集和诚加速智慧物流发展!
- 数智赋能 向“新而行” 坦克与装甲车辆学术与发展论坛召开
- 赛诺威盛:大孔径专科化CT领航者
- 网易硬刚腾讯 两大游戏玩家之间的口水仗不断
- 全球“最独特”的一台华为 nova 6 5G 版手机是什么样子的?
- 拼多多抖音淘宝京东,谁是真低价?