Java程序设计模拟试题A卷(头歌)
第1关:创建线程
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:
使用继承Thread类的方式创建一个名为 ThreadClassOne 的类,重写的run方法需要实现输出0-10之间的奇数,输出结果如下:
1 3 5 7 9;
使用实现Runnable接口的方式创建一个名为ThreadClassTwo的类,重写run方法需要实现打印0-10之间的偶数,输出结果如下:
0 2 4 6 8 10
测试说明
因为需要完成两个文件的编写,所以你需要在右侧进行文件切换。
ClassOne.java程序
package step1;
//请在此添加实现代码
/********** Begin **********/
public class ThreadClassOne extends Thread {
public void run() {
for (int i = 1; i <= 10; i += 2) {
System.out.print(i + " ");
}
}
}
/********** End **********/
ClassTwo.java程序
package step1;
//请在此添加实现代码
/********** Begin **********/
public class ThreadClassTwo implements Runnable {
public void run() {
for (int i = 0; i <= 10; i += 2) {
System.out.print(i + " ");
}
}
}
/********** End **********/
第1关:数组的使用
编程要求
使用本关所学知识,根据右侧编辑器Begin-End中提示补充代码,赋值并输出数组中的信息。
测试说明
我会对你的程序测试两次:
输入:3
预期输出:
数组中的第一个数据为:张三
数组中的第二个数据为:张无忌
数组中的第三个数据为:张三丰
数组中的第四个数据为:张岁山
数组scores的长度为:3
package step2;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
/********** Begin **********/
//在这里定义一个长度为4的字符串数组,用来存放学生姓名
String[] stuNames = new String[4];
//在这里给stuNames数组赋值 分别为 张三,张无忌,张三丰,张岁山
stuNames[0] = "张三";
stuNames[1] = "张无忌";
stuNames[2] = "张三丰";
stuNames[3] = "张岁山";
//在这里输出stuNames数组中的数据
System.out.println("数组中的第一个数据为:" + stuNames[0]);
System.out.println("数组中的第二个数据为:" + stuNames[1]);
System.out.println("数组中的第三个数据为:" + stuNames[2]);
System.out.println("数组中的第四个数据为:" + stuNames[3]);
Scanner sc = new Scanner(System.in);
//在这里使用Scanner获取系统输入的整数,并用获取到的数据来设置scores数组的长度
System.out.print("请输入数组scores的长度:");
int length = sc.nextInt();
int[] scores = new int[length];
/********** End **********/
System.out.println("数组scores的长度为:" + scores.length);
}
}
第1关:Java分支结构之多重if
编程要求
在start-end区域在Begin-End区域编写一个星级成绩评定系统,规则如下:
90分及以上:五星成绩。
80-90分(包括80分,不包含90分): 四星成绩。
70-80分(包括70分,不包含80分):: 三星成绩。
60-70分(包括60分,不包含70分):: 俩星成绩。
60分以下(不包含60分)::无星成绩。
package step3;
import java.util.Scanner;
public class HelloStep3 {
public static void main(String[] args) {
System.out.println("星级成绩评定系统");
System.out.println("请输入成绩:");
Scanner sc = new Scanner(System.in);
/******start******/
int score = sc.nextInt();
if(score>90){
System.out.println("*****五星成绩");
}
else if(score>80){
System.out.println("****四星成绩");
}
else if(score>70){
System.out.println("***三星成绩");
}
else if(score>60){
System.out.println("**俩星成绩");
}
else{
System.out.println("无星成绩");
}
/******end******/
}
}
第2关:Java分支结构之Switch
编程要求
请在start-end区域中,用switch语句在Begin-End区域补全代码,实现根据月份输出季节的功能。
规则如下:
一年有四季 春季(3,4,5)夏季(6,7,8)秋季(9,10,11) 冬季(12,1,2)
package step4;
import java.util.Scanner;
public class HelloSwitch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int input = sc.nextInt(); //获取输入的月份
//通过输入的月份来判断当前季节并输出
/*****start*****/
switch(input){
case 3:
case 4:
case 5:
System.out.println(input+"月是春天");
break;
case 6:
case 7:
case 8:
System.out.println(input+"月是夏天");
break;
case 9:
case 10:
case 11:
System.out.println(input+"月是秋天");
break;
case 1:
case 2:
case 12:
System.out.println(input+"月是冬天");
break;
default:
System.out.println("输入有误");
break;
}
/*****end*****/
}
}
第1关:什么是封装,如何使用封装
编程要求
根据提示,在右侧编辑器Begin-End处补充代码:
声明一个Person类,私有化属性name和age,并将字段封装起来;
在Person类中定义一个talk()方法,打印姓名和年龄信息;
在main方法中声明并实例化一Person对象p,给p中的属性赋值,调用talk()方法打印 我是:张三,今年:18岁。
测试说明
测试输入: 无
预期输出:
我是:张三,今年:18岁
package case1;
public class TestPersonDemo {
public static void main(String[] args) {
// 声明并实例化一个Person对象p
Person p = new Person();
// 给p中的属性赋值
p.setName("张三");
p.setAge(18);
// 调用Person类中的talk()方法
p.talk();
}
}
// 在这里定义Person类
class Person {
// 将属性私有化
private String name;
private int age;
// 提供公共访问方式
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;
}
// 定义talk()方法
public void talk() {
System.out.println("我是:" + name + ",今年:" + age + "岁");
}
}
第2关:什么是继承,怎样使用继承
编程要求
根据提示,在右侧编辑器Begin-End处补充代码:
声明一个Animal类,将属性name和age封装起来,提供对外的公共访问方法;
声明一个Cat类和Dog类,都继承Animal类,分别定义各自的voice方法和eat方法;
在main方法中分别实例化一个Cat对象和Dog对象,设置各自的属性并调用这两个方法,再打印出名字和年龄信息;
package case2;
public class extendsTest {
public static void main(String args[]) {
// 实例化一个Cat对象,设置属性name和age,调用voice()和eat()方法,再打印出名字和年龄信息
/********* begin *********/
Cat cat = new Cat();
cat.setName("大花猫");
cat.setAge(6);
cat.voice();
cat.eat();
System.out.println(cat.getName() + cat.getAge() + "岁");
/********* end *********/
// 实例化一个Dog对象,设置属性name和age,调用voice()和eat()方法,再打印出名字和年龄信息
/********* begin *********/
Dog dog = new Dog();
dog.setName("大黑狗");
dog.setAge(8);
dog.voice();
dog.eat();
System.out.println(dog.getName() + dog.getAge() + "岁");
/********* end *********/
}
}
class Animal {
private String name;
private int age;
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;
}
}
class Cat extends Animal {
// 定义Cat类的voice()和eat()方法
public void voice() {
System.out.println(getName() + "喵喵叫");
}
public void eat() {
System.out.println(getName() + "吃鱼");
}
}
class Dog extends Animal {
// 定义Dog类的voice()和eat()方法
public void voice() {
System.out.println(getName() + "汪汪叫");
}
public void eat() {
System.out.println(getName() + "吃骨头");
}
}
Java面向对象 - 封装、继承和接口
编程要求
根据提示,在右侧编辑器补充代码:
声明一Person接口,并在里面声明三个常量:name、age、occupation,并分别赋值;
声明一Student类,此类实现Person接口,并复写Person中的talk()方法;
实例化一Student的对象s,并调用talk()方法,打印信息;
具体输出要求请看测试说明。
测试说明
测试输入:无
预期输出:
学生——>姓名:张三,年龄:18,职业:学生!
package case7;
public class interfaceTest {
public static void main(String[] args) {
// 实例化一个Student的对象s,并调用talk()方法,打印信息
Student s = new Student();
s.talk();
}
}
// 声明一个Person接口,并在里面声明三个常量:name、age和occupation,并分别赋值,声明一抽象方法talk()
interface Person {
String name = "张三";
int age = 18;
String occupation = "学生";
void talk();
}
// Student类实现了Person接口,复写talk()方法返回姓名、年龄和职业信息
class Student implements Person {
@Override
public void talk() {
System.out.println("学生——>姓名:" + Person.name + ",年龄:" + Person.age + ",职业:" + Person.occupation + "!");
}
}
第1关:复制文件
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:
复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt;
复制src/step4/input/目录下的input.jpg文件到src/step4/output/目录下,新文件命名为output.jpg。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
package step4;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Task {
public void task() throws IOException{
// 复制文本文件
FileReader fr = new FileReader("src/step4/input/input.txt"); //定义FileReader读取文件
int len = 0; //每次读取的字符数量
char[] cbuf = new char[1024]; //每次读取数据的缓冲区
FileWriter fw = new FileWriter("src/step4/output/output.txt"); //定义FileWriter写文件
while((len = fr.read(cbuf)) != -1){
fw.write(cbuf,0,len);
}
fw.close(); //释放资源 刷新缓冲区
fr.close();
// 复制图片文件
FileInputStream fs = new FileInputStream("src/step4/input/input.jpg"); //定义文件输入流读取文件信息
FileOutputStream fos = new FileOutputStream("src/step4/output/output.jpg");//定义文件输出流写文件
byte[] bys = new byte[1024]; //数据缓冲区
while( (len = fs.read(bys)) != -1){
fos.write(bys, 0, len);
}
//释放资源 刷新缓冲区
fs.close();
fos.close();
}
}
本文来自博客园,作者:Cloudservice,转载请注明原文链接:https://www.cnblogs.com/whwh/p/18225538,只要学不死,就往死里学!