具体的题目是真的记不清了...
题1
利用随机函数产生30个学生的课程成绩(30~100)存入数组中。每行输入6个,输出所有符合要求的素数,要求每行输出4个,并输出素数的总数目。
import java.util.ArrayList;
import javax.print.attribute.PrintRequestAttributeSet;
import acm.program.ConsoleProgram;
public class Test01 extends ConsoleProgram {
public void run() {
ArrayList<Integer>sq = new ArrayList<>();
sq.add(55);
sq.add(96);
sq.add(39);
sq.add(23);
sq.add(56);
sq.add(43);//第一行
sq.add(30);
sq.add(99);
sq.add(99);
sq.add(82);
sq.add(34);
sq.add(48);//第二行
sq.add(48);
sq.add(18);
sq.add(86);
sq.add(50);
sq.add(76);
sq.add(67);//第三行
sq.add(23);
sq.add(76);
sq.add(28);
sq.add(97);
sq.add(95);
sq.add(26);//第四行
sq.add(89);
sq.add(13);
sq.add(70);
sq.add(81);
sq.add(24);
sq.add(34);//第五行
int x,sum;
x=0;
sum=0;
for(int i=0; i<sq.size(); i++) {
if(pan(sq.get(i))) {
sum++;
x++;
if(x<4) print(sq.get(i)+" ");
else {
x=0;
println(sq.get(i)+" ");
}
}
}
println();
println("它们的总数是"+sum);
}
public boolean pan(int x) {//判断素数
if(x==2) return true;
else {
for(int i=2; i<x; i++){
if(x%i==0) return false;
}
}
return true;
}
}
题3
生成如下界面,符合题目要求的文件
package t02.test;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import acm.program.ConsoleProgram;
public class Test03 extends ConsoleProgram
{
JTextField qv=null;
public void init()
{
setSize(300,400);
setTitle("文件拷贝 XX");
JLabel sq = new JLabel("文件名:");
JLabel sp = new JLabel("文件内容:");
qv = new JTextField(10);
JButton v = new JButton("拷贝");
add(sq, NORTH);
add(qv, NORTH);
add(sp, WEST);
add(v, SOUTH);
addActionListeners();
}
public void actionPerformed(ActionEvent e)
{
String a = qv.getText();
try
{
BufferedReader po = new BufferedReader(new FileReader(a));
String q = po.readLine();
String[] str = q.split(":");
print("ID:"+str[0]+"成绩");
println(str[1]);
}
catch(FileNotFoundException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
catch(IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
题2
package Test02;
public interface Employee {
public float salary();
}
package Test02;
public class Pe implements Employee {
private String name;
private int age;
private float bs;
public Pe(String name, int age, float bs, float prize) {
super();
this.name = name;
this.age = age;
this.bs = bs;
this.prize = prize;
}
public Pe() {
super();
}
private float prize;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getBs() {
return bs;
}
public void setBs(float bs) {
this.bs = bs;
}
public float getPrize() {
return prize;
}
public void setPrize(float prize) {
this.prize = prize;
}
@Override
public float salary() {
return this.getBs()+this.getPrize();
}
public String prinInfo(){
String a="固定员工姓名:"+this.getName()+" 固定员工的年龄"+this.getAge()+" 该员工的工资"+this.salary();
return a;
}
}
package Test02;
public class Spe extends Pe {
private float ms;
private float rate;
public float getMs() {
return ms;
}
public void setMs(float ms) {
this.ms = ms;
}
public float getRate() {
return rate;
}
public void setRate(float rate) {
this.rate = rate;
}
public Spe(String name, int age, float bs, float prize, float ms, float rate) {
super(name, age, bs, prize);
this.ms = ms;
this.rate = rate;
}
@Override
public float salary() {
return (this.getBs()+this.getPrize())+this.getMs()*this.getRate();
}
@Override
public String prinInfo() {
String a="销售员工姓名:"+this.getName()+" 销售员工的年龄"+this.getAge()+" 该员工的工资"+this.salary();
return a;
}
}
package Test02_yuansizhen;
import java.sql.SQLClientInfoException;
import java.util.ArrayList;
import acm.program.ConsoleProgram;
import acmx.export.java.util.Scanner;
public class Test extends ConsoleProgram {
public void run() {
ArrayList<Pe> pv=new ArrayList<>();
pv.add(new Pe("王璐璐",34,1000,3000));
pv.add(new Pe("张明",44,1000,4000));
pv.add(new Pe("王凯",30,1000,2000));
pv.add(new Pe("张良",54,1000,5000));
for (int i=0; i<pv.size(); i++) {
System.out.println(pv.get(i).prinInfo());
}
Scanner sc = new Scanner(System.in);
System.out.print("请输入销售员工姓名:");
String name = sc.nextLine();
System.out.print("请输入销售员工年龄:");
int age = sc.nextInt();
System.out.print("请输入销售员工底薪:");
float bs = (float)sc.nextDouble();
System.out.print("请输入销售员工奖金:");
float prize = (float)sc.nextDouble();
System.out.print("请输入销售员工月销售额:");
float ms = (float)sc.nextDouble();
System.out.print("请输入销售员工提成率:");
float rate = (float)sc.nextDouble();
Pe q = new Spe(name, age, bs, prize, ms, rate);
System.out.print(q.prinInfo());
}
}
附加样题
一、程序设计基础
1.利用随机函数产生20个学生的Java课程成绩(0~100)存入数组js中。输出数组的所有元素,要求每行输出5个元素;求这20个学生成绩的最高分、最低分和平均成绩并输出。输出结果可以参考图1。具体的要求如下:
(1)主类的类名为Test01_+你的姓名的汉语拼音的全称;
(2)给类加上文档注释,内容为你真实的班级学号姓名信息;
(3)在合适的位置给程序添加行尾注释,内容为程序的主要功能。
二、程序设计进阶
1.定义Shape(图形)接口,其中有计算面积的抽象方法area和计算周长的抽象方法perimeter。
2.定义Circle(圆)类实现Shape接口,
(1)该类具有private成员radius(半径);
(2)实现getter和setter方法;
(3)定义一个不带参数的构造方法和一个带参数的构造方法;
(4)实现方法area和方法perimeter;
(5)重写toString方法,返回Circle信息。
3.定义Rectangle(长方形)类实现Shape接口,
(1)该类具有private成员a,b(长方形的两条边);
(2)实现getter和setter方法;
(3)定义一个不带参数的构造方法和一个带全部参数的构造方法;
(4)实现方法area和方法perimeter;
(5)重写toString方法,返回Rectangle信息。
4.定义Test02_ShapeTest类,在main方法中:
(1)创建含有4个Circle对象的数组c[ ];
(2)创建c中的每一个对象;
(3)定义一个Set对象set,用HashSet初始化,把数组c 添加到set中;
(4)创建1个Rectangle对象r1,比较c[0]与r1面积的大小并输出面积比较的结果,如果面积相等就输出Circle=Rectangle.
Shape、Circle和Rectangle放在数据包test02.c01,Test02_ShapeTest放在数据包test02中。输出结果可以参考图2。
三、图形化程序设计
1.创建GUI程序,完成:
(1)界面如图3所示,其中JFrame的标题XX部分是你真实的班级+学号+姓名、居中显示、窗体能正常关闭;
(2)单击按钮时把读取的文本文件的内容显示在文本区域中,其中文件名显示在文本框中。
(3)捕捉并处理在程序运行中可能出现的异常FileNotFoundException和IOException。
(4)主类的类名命名采用Test03_+你的姓名的汉语拼音的首字母,主类所在包为test03。