百布 2022-03-20 13:58 采纳率: 95.8%
浏览 22
已结题

Java 有关类的问题

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        Cla cc = new Cla();
        cc.num = 0;
        while(sc.hasNext()){
            Student s = new Student();
            s.name = sc.next();
            s.id = sc.next();
            s.sex = sc.next();
            s.age = sc.nextInt();
            cc.stu[cc.num] = s;
            sum +=cc.stu[cc.num].age;
            cc.num ++;
        }
        double avg = (double)sum/ (double)cc.num;

        System.out.println("班级学生"+cc.num+"人,平均年龄"+ String.format("%.1f",avg) +".");
    }
}

class Student{
    String name;
    String id;
    int age;
    String sex;
}

class Cla{
    Student[] stu = new Student[100];
    int num;
}

才学Java几天,不知道怎么做了

  • 写回答

1条回答 默认 最新

  • 社畜阿藏405 Java领域新星创作者 2022-03-20 15:14
    关注
    
    package com.azang.java;
    
    import java.math.BigDecimal;
    import java.util.ArrayList;
    import java.util .List;
    import java.util.Scanner;
    
    public class ByteCodeInterview {
        public static void main(String[] args) {
            List<Student> studentList = new ArrayList<>();
            Scanner sc = new Scanner(System.in);
            while (sc.hasNextLine()) {
                String str = sc.nextLine();
                if (str.isEmpty()) {
                    break;
                } else {
                    String[] split = str.split(" ");
                    Student student = new Student(split[0], split[1], Integer.parseInt(split[2]), split[3]);
                    studentList.add(student);
                }
            }
            sc.close();
            BigDecimal avg = BigDecimal.ZERO;
            for (Student student : studentList) {
                // 四舍五入除法保留两位小数
                BigDecimal divide = BigDecimal.valueOf(student.age).divide(BigDecimal.valueOf(studentList.size()), 2, BigDecimal.ROUND_HALF_UP);
                avg = avg.add(divide);
            }
            System.out.println("班级学生" + studentList.size() + "人,平均年龄" + String.format("%.1f", avg) + ".");
        }
    }
    
    class Student {
        String name;
        String id;
        int age;
        String sex;
    
        public Student() {
        }
    
        public Student(String name, String id, int age, String sex) {
            this.name = name;
            this.id = id;
            this.age = age;
            this.sex = sex;
        }
    }
    
    class Cla {
        Student[] stu = new Student[100];
        int num;
    }
    

    拿去生活

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月20日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀