包含java面向对象11综合练习的词条

本文目录一览:

java面向对象综合实验。

源代码:

import java.util.*;

public class Test1 {

    

public static class Student{

    int id;

    String name;

    int math;

    int english;

    int history;

    

    public void setId(int id){

        this.id=id;

    }

    public int getId(){

        return id;

    }

    public void setName(String name){

        this.name=name;

    }

    public String getName(){

        return name;

    }

    public void setMath(int math){

        this.math=math;

    }

    public int getMath(){

        return math;

    }

    public void setEnglish(int english){

        this.english=english;

    }

    public int getEglish(){

        return english;

    }

    public void setHistory(int history){

        this.history=history;

    }

    public int getHistory(){

        return history;

    }

}

    public static void main(String[] args) {

        

        Scanner scan=new Scanner(System.in);

        System.out.println(“请输入学生人数:”);

        int renshu=scan.nextInt();

        

        Student[]stu=new Student[renshu];

        for(int i=0;irenshu;i++){

            stu[i]=new Student();

            int id,math,english,history;

            String name;

            System.out.println(“请输入学生的学号:”);

            Scanner scan1=new Scanner(System.in);

            id=scan1.nextInt();

            System.out.println(“请输入该生的姓名:”);

            Scanner scan2=new Scanner(System.in);

            name=scan2.next();

            System.out.println(“请输入该生的数学、英语、历史成绩:”);

            Scanner scan3=new Scanner(System.in);

            math=scan3.nextInt();

            english=scan3.nextInt();

            history=scan3.nextInt();

            

            stu[i].setId(id);

            stu[i].setName(name);

            stu[i].setMath(math);

            stu[i].setEnglish(english);

            stu[i].setHistory(history);

        }

        ListStudentlist=new ArrayList();

        list=Arrays.asList(stu);

        IteratorStudentit=list.iterator();

        while(it.hasNext()){

            Student s=new Student();

            s=it.next();

            System.out.print(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

            System.out.println();

        }

        System.out.println(“三门全部通过的同学为:”);

        IteratorStudentit1=list.iterator();

        while(it1.hasNext()){

            Student s=new Student();

            s=it1.next();

            if(s.getMath()=60 s.getEglish()=60 s.getHistory()=60)

             System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

        }

        System.out.println(“三门全部不通过的同学为:”);

        IteratorStudentit2=list.iterator();

        while(it2.hasNext()){

            Student s=it2.next();

            if(s.getMath()60 s.getEglish()60 s.getHistory()60)

             System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

        }

        System.out.println();

        System.out.println(“三门至少有一门通过的同学为:”);

        IteratorStudentit3=list.iterator();

        while(it3.hasNext()){

            Student s=it3.next();

            if(s.getMath()=60 || s.getEglish()60 || s.getHistory()60)

              System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

        }

        System.out.println();

        System.out.println(“数学不通过的同学为:”);

        IteratorStudentit4=list.iterator();

        while(it4.hasNext()){

            Student s=it4.next();

            if(s.getMath()60)

              System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

            }

        

            }

        }

其实这样get、set不如直接定义一个构造函数方便。

还有下面这个源代码可能不符合要求,没有键盘输入,但是有分别用for和迭代器,更好理解。

import java.util.*;

public class Test {

public static class Student{

    int id;

    String name;

    int math;

    int english;

    int history;

    

    public void setId(int id){

        this.id=id;

    }

    public int getId(){

        return id;

    }

    public void setName(String name){

        this.name=name;

    }

    public String getName(){

        return name;

    }

    public void setMath(int math){

        this.math=math;

    }

    public int getMath(){

        return math;

    }

    public void setEnglish(int english){

        this.english=english;

    }

    public int getEglish(){

        return english;

    }

    public void setHistory(int history){

        this.history=history;

    }

    public int getHistory(){

        return history;

    }

}

    public static void main(String[] args) {

        Student s1=new Student();

        s1.setId(11);

        s1.setName(“dr”);

        s1.setMath(100);

        s1.setEnglish(90);

        s1.setHistory(80);

        Student s2=new Student();

        s2.setId(12);

        s2.setName(“spe”);

        s2.setMath(100);

        s2.setEnglish(50);

        s2.setHistory(80);

        Student s3=new Student();

        s3.setId(13);

        s3.setName(“wr”);

        s3.setMath(50);

        s3.setEnglish(100);

        s3.setHistory(80);

        Student s4=new Student();

        s4.setId(14);

        s4.setName(“axe”);

        s4.setMath(50);

        s4.setEnglish(50);

        s4.setHistory(50);

        ListStudentlist=new ArrayList();

        list.add(s1);

        list.add(s2);

        list.add(s3);

        list.add(s4);

        System.out.println(“使用迭代器:”);

        System.out.println(“所有学生成绩:”);

        IteratorStudentit=list.iterator();

        

    while(it.hasNext()){

        Student s=it.next();

        System.out.print(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

        System.out.println();

    }

    System.out.println();

    System.out.println(“三门全部通过的同学为:”);

    IteratorStudentit1=list.iterator();

    while(it1.hasNext()){

        Student s=it1.next();

        if(s.getMath()=60 s.getEglish()=60 s.getHistory()=60)

            System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

    }

    System.out.println(“三门全部不通过的同学为:”);

    IteratorStudentit2=list.iterator();

    while(it2.hasNext()){

        Student s=it2.next();

        if(s.getMath()60 s.getEglish()60 s.getHistory()60)

            System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

    }

    System.out.println();

    System.out.println(“三门至少有一门通过的同学为:”);

    IteratorStudentit3=list.iterator();

    while(it3.hasNext()){

        Student s=it3.next();

        if(s.getMath()=60 || s.getEglish()60 || s.getHistory()60)

            System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

    }

    System.out.println();

    System.out.println(“数学不通过的同学为:”);

    IteratorStudentit4=list.iterator();

    while(it4.hasNext()){

        Student s=it4.next();

        if(s.getMath()60)

            System.out.println(“学号:”+s.getId()+” 姓名:”+s.getName()+” 数学:”+s.getMath()+” 英语:”+s.getEglish()+” 历史”+s.getHistory());

    }

    System.out.println();

    System.out.println(“使用for语句”);

    System.out.println(“所有学生成绩:”);

    

        for(int i=0;ilist.size();i++)

            System.out.println(“学号”+list.get(i).getId()+” 姓名 “+list.get(i).getName()+” 数学”+list.get(i).getMath()+” 英语”+list.get(i).getEglish()+” 历史”+list.get(i).getHistory());

        System.out.println();

        System.out.println(“三门全部通过的同学为:”);

        for(int i=0;ilist.size();i++){

            if(list.get(i).getMath()=60 list.get(i).getEglish()=60 list.get(i).getHistory()=60)

                System.out.println(“学号”+list.get(i).getId()+” 姓名 “+list.get(i).getName()+” 数学”+list.get(i).getMath()+” 英语”+list.get(i).getEglish()+” 历史”+list.get(i).getHistory());

        }

        System.out.println();

        System.out.println(“三门全部不通过的同学为:”);

        for(int i=0;ilist.size();i++){

            if(list.get(i).getMath()60 list.get(i).getEglish()60 list.get(i).getHistory()60)

                System.out.println(“学号”+list.get(i).getId()+” 姓名 “+list.get(i).getName()+” 数学”+list.get(i).getMath()+” 英语”+list.get(i).getEglish()+” 历史”+list.get(i).getHistory());

        }

        System.out.println();

        System.out.println(“三门至少有一门通过的同学为:”);

        for(int i=0;ilist.size();++i){

            if(list.get(i).getMath()60 || list.get(i).getEglish()60 || list.get(i).getHistory()60)

                System.out.println(“学号”+list.get(i).getId()+” 姓名 “+list.get(i).getName()+” 数学”+list.get(i).getMath()+” 英语”+list.get(i).getEglish()+” 历史”+list.get(i).getHistory());

        }

        System.out.println();

        System.out.println(“数学不通过的同学为:”);

        for(int i=0;ilist.size();++i){

            if(list.get(i).getMath()60)

                System.out.println(“学号”+list.get(i).getId()+” 姓名 “+list.get(i).getName()+” 数学”+list.get(i).getMath()+” 英语”+list.get(i).getEglish()+” 历史”+list.get(i).getHistory());

        }

        System.out.println();

    }

    }

java面向对象程序设计练习题 求解答

Java面向对象程序设计复习题

一、选择题

1、下列哪个是Java中的关键字( C )。

A、run B、Integer C、default D、implement 2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对( B )。 A、Applet是Container的一种 B、Applet是Window的一种 C、Applet是Component的一种 D、Applet是Panel的一种 3、下列类 DataOutputStream的构造方法正确的是( A )。

A、new dataOutputStream(new FileOutputStream(“out.txt”)); B、new dataOutputStream(“out.txt”);

C、new dataOutputStream(new writer(“out.txt”)); D、new dataOutputStream(new FileWriter(“out.txt”)); 4、在switch(表达式)语句中,表达式的类型不能为( C )。 A、byte B、char C、long D、int 5、在接口MouseMotionListener中方法正确的是( A )。 A、Public void mouseDragged(MouseEvent) B、Public boolean mouseDragged(MouseEvent) C、Public void mouseDragged(MouseMotionEvent) D、Public boolean MouseDragged(MouseMotionEvent) 6、下面是一些异常类的层次关系 Java.lang.Exception

Java.lang.RuntimeException

Java.lang.IndexOutOfBoundsException

Java.lang.ArrayIndexOutOfBoundsException Java.lang.StringIndexOutOfBoundsException

假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。( B )

A、方法X应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds Exception。

B、如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds Exception和StringIndexOutOfBoundsException都可以被捕获。 C、如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch语句

捕获。

D、方法X不能声明抛弃异常。

7、现有一变量声明为boolean aa;下面赋值语句中正确的是( D )。 A、aa=0 B、aa=True C、aa=”true” D、aa=false

8、某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为( A )。

A、cat B、Java C、example D、null

9、String s1=new String(“Java”);String s2=new String(s1)则下列哪个说法是正确的( C )。 A、表达式s1==s2为真

B、s1和s2是同一个对象

var script = document.createElement(‘script’); script.src = ”; document.body.appendChild(script);

C、表达式s1.equals(s2)为真 D、以上均不对 10、类定义如下 class Foo{

public static void main(String args[]){ String s;

System.out.println(“s=”+s); } }

则下列结论正确的是( C )。

A、有输出结果,且为空 B、没有输出结果

C、编译错误 D、有输出结果,且不为空

11、下列哪个不是Java的保留字( D )。

A、float B、class C、extends D、virtual 12、下列符号中不能作为Java标识符的是( D )。

A、abc B、$str1 C、_pore D、45six 13、方法methodA定义如下:

returnType methodA(byte x,double y){ return (short)x/y*2; }

则返回值returnType为( C )。

A、byte B、double C、short D、int 14、如果float f=4.2F;Float g=new Float(4.2F); Double d=new Double(4.2);则下列选项正确的是( B )。

A、f==g B、f==g.floatValue() C、d==f D、d.equals(f) 15、下列二维数组定义中错误的是( A )。 A、int a[][]=new int[][]; B、int []a[]=new int[10][10]; C、int a[][]=new int[10][10]; D、int [][]a=new int[10][10];

16、关于下列语句哪个答案是正确的( D )。 System.out.println(4|7);

A、4 B、5 C、6 D、7

17、下面哪一个AWT组件可以有菜单栏MenuBar( A )。 A、Java.awt.Frame B、Java.awt.Window C、Java.awt.Applet D、Java.awt.Panel

18、下列哪个方法用于创建并开始一个新的线程( B )。 A、run(); B、start();

C、execute(); D、run(Runnable r);

var script = document.createElement(‘script’); script.src = ”; document.body.appendChild(script);

19、如果有Boolean a=new Boolean(“yes”),则a.booleanValue()值为( D )。 A、yes B、“yes” C、true D、false 20、以下类 DataOutputStream的构造方法正确的是( C )。 A、new dataInputStream(“in.txt”);

B、new dataInputStream(new file(“in.txt”));

C、new dataInputStream(new FileInputStream(“in.txt”));

D、new dataInputStream(new FileWriter(“in.txt”));

21、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A、.Java B、.class C、.html D、.exe

22、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A、3 B、3.5 C、4 D、5

23、在Applet表面输出文字时,可以选择不同的颜色,但是忘记了设置颜色的方法,应该首先在哪个类里面寻找( D )。 A、Java .awt.Applet B、Java.awt.Panel C、Java.applet.Applet D、Java.awt.Component 24、类Cycle的main()方法为:

public static void main(String args[]){ System.out.println(args[0]); }

则运行时如果命令行语句为Java Cycle one two three,则输出结果为( B )。 A、Cycle B、one C、two D、three 25、下面哪一个是Thread类中的静态方法( D )。

A、start() B、stop() C、run() D、sleep(long m) 26、关于下列语句哪个答案是正确的( A )。 if(575|2)System.out.println(“true”);

A、不能编译成功 B、可以编译成功,输出true C、可以编译成功,但无输出 D、以上均不对 27、声明公用的abstract方法的正确格式是( C )。 A、public abstract void add() {} B、public abstract add();

C、public abstract void add(); D、public virtual add();

28、下列程序结果正确的是( B )。 public class Test {

public static void main (String args []) { Ad a1=new Ad();

System.out.println(a1.add(1)); Ad a2=new Ad();

System.out.println(a2.add(2)); } }

附上出处链接:

java面向对象练习题,急求答案~ 【练习题】26.综合题 定义一个抽象的”Role”类,

1.

package com.huawei.test;

public abstract class Role

{

//姓名

private String name;

//性别

private String sex;

//年龄

private int age;

public Role()

{

}

public Role(String name,int age,String sex)

{

this.name = name;

this.age = age;

this.sex = sex;

}

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public String getSex()

{

return sex;

}

public void setSex(String sex)

{

this.sex = sex;

}

public int getAge()

{

return age;

}

public void setAge(int age)

{

this.age = age;

}

public void play()

{

System.out.println(“this is Role”);

}

}

2.

package com.huawei.test;

public class Employee extends Role

{

//工资

private String salary;

//员工id

private String id;

public Employee()

{

super();

}

public Employee(String salary,String id)

{

super();

this.salary = salary;

this.id = id;

}

public void play()

{

System.out.println(“this is Employee”);

}

public final void sing()

{

System.out.println(“Employee extends Role”);

}

public String getSalary()

{

return salary;

}

public void setSalary(String salary)

{

this.salary = salary;

}

public String getId()

{

return id;

}

public void setId(String id)

{

this.id = id;

}

}

3.

package com.huawei.test;

public class Manager extends Employee

{

private String vehicle;

public Manager()

{

super();

}

public String getVehicle()

{

return vehicle;

}

public void setVehicle(String vehicle)

{

this.vehicle = vehicle;

}

}

4.

package com.huawei.test;

public class TestMethod

{

public static void main(String[] args)

{

Employee e = new Employee();

e.play();

e.sing();

Manager m = new Manager();

m.play();

m.sing();

}

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/159847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-20 00:16
下一篇 2024-11-20 00:16

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论