基本操作
在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
完善该程序并进行调试,使程序先显示一个输入窗口如下: 
输入10个学生考试结果后,显示分析结果示例如下:

import javax.swing.JOptionPane;
public class Java_1 {
public static void main( String args[] ){
//变量初始化
int passes = 0, //考生通过的数目
failures = 0, //考生不通过的数目
student = 1, //学生计数器
result; //一门考生结果
String input, //用户输入的值
output; //输出字符串
//处理10名学生,用计数器控制循环
while ( student <= 10 ) {
input = JOptionPane.showInputDialog(
“输入结果(1=通过,2=不通过)” );
//Found*
result = Integer.parseInt( __________________ );
if ( result == 1 )
passes = passes + 1;
else
failures = failures + 1;
student = student + 1;
}
//结果处理
output = "通过: " + passes +
"\n不通过: " + failures;
if( passes > 8 )
output = output + “\n提高学费”;
//Found*
JOptionPane.__________( null, output,
“对考试结果的分析示例”,
JOptionPane.INFORMATION_MESSAGE );
//Found*
System.( 0 );
}
}
本题考查的是对JavaSwing的理解。
题目要求判断输入结果,1为通过2为不通过,输入结果为input,所以第一空填写"input"。
提示框用showMessageDialog即可展现在Panel中,所以第二空填写"showMessageDialog"。
最后需要退出程序,所以第三空填写"exit"。
具体程序如下:
import javax.swing.JOptionPane;
public class Java_1 {
public static void main( String args[] ){
//变量初始化
int passes = 0, //考生通过的数目
failures = 0, //考生不通过的数目
student = 1, //学生计数器
result; //一门考生结果
String input, //用户输入的值
output; //输出字符串
//处理10名学生,用计数器控制循环
while ( student <= 10 ) {
input = JOptionPane.showInputDialog(
"输入结果(1=通过,2=不通过)" );
//*********Found**********
result = Integer.parseInt( input);
if ( result == 1 )
passes = passes + 1;
else
failures = failures + 1;
student = student + 1;
}
//结果处理
output = "通过: " + passes +
"\n不通过: " + failures;
if( passes > 8 )
output = output + "\n提高学费";
//*********Found**********
JOptionPane.showMessageDialog( null, output,
"对考试结果的分析示例",
JOptionPane.INFORMATION_MESSAGE );
//*********Found**********
System.exit( 0 );
}
}
简单应用
在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
对于给定的3位学生的Java成绩进行降序排序。程序输出结果如下:
Java成绩降序排序的结果是:
name=王晓,fenshu=98.0
name=李明,fenshu=80.0
name=赵冬,fenshu=75.0
import java.util.*;
public class Java_2
{
public static void main(String[] args)
{
Student[] java = new Student[3];
java[0] = new Student(“李明”, 80);
java[1] = new Student(“赵冬”, 75);
java[2] = new Student(“王晓”, 98);
//Found*
Arrays.sort(____);
System.out.println(“Java 成绩降序排序的结果是:”);
for (int i = 0; i < java.length; i++)
{
Student e = java[i];
//Found*
System.out.println(“name=” + e.
+ “,fenshu=” + e.getFenshu());
}
}
}
//Found*
class Student ___________________ Comparable
{
public Student(String n, double f)
{
name = n;
fenshu = f;
}
public String getName()
{
return name;
}
public double getFenshu()
{
return fenshu;
}
public int compareTo(Object otherObject)
{
Student other = (Student)otherObject;
if (fenshu < other.fenshu) return 1;
if (fenshu > other.fenshu) return -1;
return 0;
}
private String name;
//Found*
private _________________ fenshu;
}
本题考查的是对Comparable的理解。
需要对成绩排序,所以sort的参数应为一个含有成绩的数组对象,所以第一空填写"java"。
输出语句要求前面带有学生的名字,所以第二空填写"getName()"。
Comparable是一个接口,所以第三空填写"implements"。
因为成绩是一个带有小数点的数值,所以第四空填写"double"。
具体程序如下:
import java.util.*;
public class Java_2
{
public static void main(String[] args)
{
Student[] java = new Student[3];
java[0] = new Student("李明", 80);
java[1] = new Student("赵冬", 75);
java[2] = new Student("王晓", 98);
//*********Found**********
Arrays.sort(java);
System.out.println("Java 成绩降序排序的结果是:");
for (int i = 0; i < java.length; i++)
{
Student e = java[i];
//*********Found**********
System.out.println("name=" + e.getName()
+ ",fenshu=" + e.getFenshu());
}
}
}
//*********Found**********
class Student implements Comparable
{
public Student(String n, double f)
{
name = n;
fenshu = f;
}
public String getName()
{
return name;
}
public double getFenshu()
{
return fenshu;
}
public int compareTo(Object otherObject)
{
Student other = (Student)otherObject;
if (fenshu < other.fenshu) return 1;
if (fenshu > other.fenshu) return -1;
return 0;
}
private String name;
//*********Found**********
private double fenshu;
}
综合应用
在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本題的要求是:
从C:盘根目录下寻找一个不存在的文本文件abc.txt。该程序输出结果如下:
C:\abc.txt(系统找不到指定的文件。)请确认文件路径及文件名是否正确!
import java.io.*;
public class Java_3
{
public static void main(String[] args)
{
Java_3 exceptionExample = new Java_3();
//Found*
__________________
{
FileInputStream fi = new FileInputStream(“C:” + “\” + “abc.txt”);
}
//Found*
_________________(FileNotFoundException ex)
{
//Found*
System.out.println(___________________.getMessage()+
“请确认文件路径及文件名是否正确!”);
}
}
}
本题考查的是对异常的捕捉的理解。
因为FileInputStream实例化时会抛出异常,所以第一空填写"try",第二空填写"catch"。
输出异常信息,需要catch语句带的参数,这里参数名为ex,所以第三空填写"ex"。
具体程序如下:
import java.io.*;
public class Java_3
{
public static void main(String[] args)
{
Java_3 exceptionExample = new Java_3();
//*********Found**********
try
{
FileInputStream fi = new FileInputStream("C:" + "\\" + "abc.txt");
}
//*********Found**********
catch (FileNotFoundException ex)
{
//*********Found**********
System.out.println(ex.getMessage()+
"请确认文件路径及文件名是否正确!");
}
}
}