堇色安年12138 2021-06-23 09:55 采纳率: 0%
浏览 292

编写一个程序,输入n个学生数据

编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求只输出成绩在80~89分的学生数据。 思路: 设计一个学生类Stud,包括no(学号)、name(姓名)和 deg(成绩)数据成员,和成员函数disp(),用于只输出成绩在80~89分数段的学生数据。在main()函数中定义了一个学生对象数组,用于存储输入的学生数据。

  • 写回答

1条回答 默认 最新

  • CSDN专家-Fay 2021-06-23 10:04
    关注

    使用Java类和对象加上集合框架即可解决

    如有帮助还望在我的回答上点个【采纳】

    Student类:

    public class Student {
    	int stuno;
    	String stuname;
    	float deg;
    	List<Student> stus=new ArrayList();
    	
    	
    	
    	@Override
    	public String toString() {
    		return "Student [stuno=" + stuno + ", stuname=" + stuname + ", deg="
    				+ deg + "]";
    	}
    
    
    
    	public void disp(){
    		for(int i=0;i<stus.size();i++){
    			Student stu = stus.get(i);
    			if(stu.deg>=80&&stu.deg<=90){
    				System.out.println(stu.toString());
    			}
    		}
    	}
    
    }

    Test类:

    public class Test {
    	
    	
    	public static void main(String[] args) {
    		Scanner scan = new Scanner(System.in);
    		System.out.println("请输入学生数:");
    		int n=  scan.nextInt();
    		
    		Student stu = new Student();
    		for(int i=0;i<n;i++ ){
    			
    			Student s = new Student();
    			System.out.println("请输入第"+(i+1)+"个学生的学号:");
    			s.stuno = scan.nextInt();
    			
    			Scanner scan2 = new Scanner(System.in);
    			System.out.println("请输入第"+(i+1)+"个学生的姓名:");
    			s.stuname = scan2.nextLine();
    			System.out.println("请输入第"+(i+1)+"个学生的成绩:");
    			s.deg = scan2.nextFloat();
    			
    			stu.stus.add(s);
    		}
    		
    		stu.disp();//显示
    	}
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗