欢迎来到CloudService文涵的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

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();
    }
}


posted on 2024-06-01 09:09  Cloudservice  阅读(35)  评论(0编辑  收藏  举报