Java二级操作题第17套
基本操作
在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
统计某单位员工伯年龄分布情况。年龄分为4个年龄段:
六十岁以上(>=61),五十到六十(51-60),四十到五十(41-50),以及四十岁以下(<=40)。需要统计每个年龄段的人数以及职工的平均年龄,运行结果如下所示。
<=40:4 41-50:3 51-60:2 >=61:1
public class Java_1{
public static void main(String[] args){
//*********Found********
__________ ages = {35,43,28,39,62,57,48,29,54,46};
int sum = 0, avg = 0;
int tt = 0,fot = 0,fit = 0,st = 0;
for (int i=0; i<ages.length; i++){
if (ages[i] <=40 )
tt++;
else if (ages[i] >40 && ages[i]<=50)
fot++;
else if (ages[i] >50 && ages[i]<=60)
//*********Found********
__________;
else
st++;
}
//*********Found********
for (__________; i<ages.length; i++)
//*********Found********
sum += __________;
avg = sum/ages.length;
System.out.println("<=40: "+tt+" 41-50: " +fot+" 51-60: "
+ fit +" >=61: " + st);
}
}
本题考查的是for循环语句。
初始化ages值为整型,所以第一空填"int[]",int tt = 0,fot = 0,fit = 0,st = 0; 定义了四个变量,用于存放不同年龄段的人数,所以第二空填"fit++",数组下标从0开始,所以第三空填"int
i=0",最后要计算平均值,先求和,所以第四空填"ages[i]"。
具体程序如下:
public class Java_1{
public static void main(String[] args){
//*********Found********
int[] ages = {35,43,28,39,62,57,48,29,54,46};
int sum = 0, avg = 0;
int tt = 0,fot = 0,fit = 0,st = 0;
for (int i=0; i<ages.length; i++){
if (ages[i] <=40 )
tt++;
else if (ages[i] >40 && ages[i]<=50)
fot++;
else if (ages[i] >50 && ages[i]<=60)
//*********Found********
fit++;
else
st++;
}
//*********Found********
for (int i=0; i<ages.length; i++)
//*********Found********
sum += ages[i];
avg = sum/ages.length;
System.out.println("<=40: "+tt+" 41-50: " +fot+" 51-60: "
+ fit +" >=61: " + st);
}
}
简单应用
在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
程序运行后显示下图所示界面。可在窗口的空白处输入字符,按“保存”按钮后,程序将把所输入的字符保存到当前目录下的out.txt文件中。
//*********Found********
import __________;
import java.io.*;
import java.awt.event.* ;
import javax.swing.*;
//*********Found********
public class Java_2 ____________________{
JTextArea ta;
JFrame f ;
JLabel label;
JButton bt;
public static void main(String args[ ]){
Java_2 t = new Java_2();
t.go();
}
void go(){
f = new JFrame("Save data");
label = new JLabel("请输入需要保存的文本:");
ta = new JTextArea(3,20);
bt = new JButton("保存");
//*********Found********
f.add(label,____________________);
f.add(ta,BorderLayout.CENTER);
f.add(bt,BorderLayout.SOUTH);
//*********Found********
bt.____________________(this);
f.setSize(400,400);
f.pack( );
f.setVisible(true) ;
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent event){
try{
FileWriter out = new FileWriter("out.txt");
String str = ta.getText();
//*********Found********
_________________(str);
out.close();
} catch( Exception e){
}
}
}
本题考查的是图形用户界面。
具体程序如下:
//*********Found********
import java.awt.*;
import java.io.*;
import java.awt.event.* ;
import javax.swing.*;
//*********Found********
public class Java_2 implements ActionListener{
JTextArea ta;
JFrame f ;
JLabel label;
JButton bt;
public static void main(String args[ ]){
Java_2 t = new Java_2();
t.go();
}
void go(){
f = new JFrame("Save data");
label = new JLabel("请输入需要保存的文本:");
ta = new JTextArea(3,20);
bt = new JButton("保存");
//*********Found********
f.add(label,BorderLayout.NORTH);
f.add(ta,BorderLayout.CENTER);
f.add(bt,BorderLayout.SOUTH);
//*********Found********
bt.addActionListener(this);
f.setSize(400,400);
f.pack( );
f.setVisible(true) ;
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent event){
try{
FileWriter out = new FileWriter("out.txt");
String str = ta.getText();
//*********Found********
out.write(str);
out.close();
} catch( Exception e){
}
}
}
综合应用
在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
实现某培训机构三个报名点在某培训班招生中的联网报名功能。该培训班最多招收学生10人,某次运行结果如下。
Thread-0 Registered one student,and total 1 students registered
Thread-2 Registered one student,and total 2 students registered
Thread-1 Registered one student,and total 3 students registered
Thread-1 Registered one student,and total 4 students registered
Thread-2 Registered one student,and total 5 students registered
Thread-0 Registered one student,and total 6 students registered
Thread-2 Registered one student,and total 7 students registered
Thread-0 Registered one student,and total 8 students registered
Thread-1 Registered one student,and total 9 students registered
Thread-1 Registered one student,and total 10 students registered
//*********Found********
public class Java_3 ____________________{
static RegistrationAgent agent;
static boolean timetoquit=false;
public static void main(String[] args){
agent = new RegistrationAgent();
Thread[] t= new Thread[3];
for (int i=0; i<3; i++){
t[i] = new Java_3();
//*********Found********
____________________;
}
}
public void run( ){
//*********Found********
while (________________){
boolean r = agent.reg();
if (!r)
timetoquit = true;
try{
Thread.sleep(2);
}catch(Exception e){}
}
}
}
class RegistrationAgent {
private int quota = 0;
public boolean reg(){
synchronized(this){
if( quota < 10){
//*********Found********
_________________;
System.out.print(Thread.currentThread().getName());
System.out.println( " Registered one student, and total " + quota
+" students registered.");
return true;
}
else
//*********Found********
______________;
}
}
}
本题考查的是线程的调度与线程控制。
具体程序如下:
//*********Found********
public class Java_3 extends Thread{
static RegistrationAgent agent;
static boolean timetoquit=false;
public static void main(String[] args){
agent = new RegistrationAgent();
Thread[] t= new Thread[3];
for (int i=0; i<3; i++){
t[i] = new Java_3();
//*********Found********
t[i].start();
}
}
public void run( ){
//*********Found********
while (timetoquit == false){
boolean r = agent.reg();
if (!r)
timetoquit = true;
try{
Thread.sleep(2);
}catch(Exception e){}
}
}
}
class RegistrationAgent {
private int quota = 0;
public boolean reg(){
synchronized(this){
if( quota < 10){
//*********Found********
quota++;
System.out.print(Thread.currentThread().getName());
System.out.println( " Registered one student, and total " + quota
+" students registered.");
return true;
}
else
//*********Found********
return false;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!