Java程序设计预赛主观题答案及评分标准

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

综合操作题(2题,25分/题,共50分)
1. 编写程序,提示用户输入一个字符串,然后报告该串是否为回文串,具体如下图所示(注:
对于一个字符串,如果从前向后读和从后向前读都一样,则称为回文串。

例如,单词“mom”、“dad”和“noon”都是回文串)。

将编写好的源程序命名为“T1.java”,并保存后提交。

【分数】25分
【参考答案】
import javax.swing.JOptionPane;
public class CheckPalindrome {
/** Main method */
public static void main(String[] args) {
// Prompt the user to enter a string
String s = JOptionPane.showInputDialog("Enter a string:");
// Declare and initialize output string
String output = "";
if (isPalindrome(s))
output = s + " is a palindrome";
else
output = s + " is not a palindrome";
// Display the result
JOptionPane.showMessageDialog(null, output);
}
/** Check if a string is a palindrome */
public static boolean isPalindrome(String s) {
// The index of the first character in the string
int low = 0;
// The index of the last character in the string
int high = s.length() - 1;
while (low < high) {
if (s.charAt(low) != s.charAt(high))
return false; // Not a palindrome
low++;
high--;
}
return true; // The string is a palindrome
}
}
【评分标准】
(1)实现输入界面,得5分;
(2)实现例子中“mom”、“dad”和“noon”,输出正确,得10分;
(3)测试其它例子,全部都正确,得10分。

2. 编写一个复制文件的程序,用户需要以命令行参数的方式提供源文件与目标文件,该程
序将源文件复制到目标文件并显示文件中的字节数。

如果源文件不存在,告诉用户找不到该文件;如果目标文件已经存在,告诉用户目标文件存在。

程序的一个运行样例如下图所示:
所使用的命令如下:
java Copy 源文件名目标文件名
将编写好的源程序命名为“T2.java”,并保存后提交。

【分数】25分
【参考答案】
import java.io.*;
public class Copy {
public static void main(String[] args) throws IOException {
// Check command line parameter usage
if (args.length != 2) {
System.out.println("用法: java CopyFile sourceFile targetfile.dat");
System.exit(0);
}
// Check if source file exists
File sourceFile = new File(args[0]);
if (!sourceFile.exists()) {
System.out.println("源文件" + args[0] + " 不存在");
System.exit(0);
}
// Check if target file exists
File targetFile = new File(args[1]);
if (targetFile.exists()) {
System.out.println("目标文件" + args[1] + " 已存在");
System.exit(0);
}
// Create an input stream
BufferedInputStream input = new BufferedInputStream(
new FileInputStream(sourceFile));
// Create an output stream
BufferedOutputStream output = new BufferedOutputStream(
new FileOutputStream(targetFile));
// Display the file size
System.out
.println("文件" + args[0] + " 有" + input.available() + " 个字节");
// Continuously read a byte from input and write it to output
int r;
while ((r = input.read()) != -1)
output.write((byte) r);
// Close streams
input.close();
output.close();
System.out.println("复制完成!");
}
}
【评分标准】
(1)程序实现输入的命令行参数不是2个时,提示用法,得5分;
(2)程序实现如果源文件不存在,给出提示,得5分;
(3)程序实现如果目标文件存在,给出提示,得5分;
(4)如果源文件存在,目标文件不存在,程序可以实现复制源文件到目标文件,并显示文件的字节数,得10分。

X。

相关文档
最新文档