【问题标题】:create a data type in java在java中创建数据类型
【发布时间】:2021-11-18 21:15:44
【问题描述】:

我正在编写一个 java 代码,它计算数组中 N 个学生的 cgpa 平均值,它运行良好,但我只需要为其创建一个名为 studentsAverage 的数据类型。

import java.util.*;
public class Test4{
   public static void main(String [] args){
      Scanner adnan = new Scanner(System.in);
      System.out.println("Enter number of students : ");
      int length = adnan.nextInt();
      double [] input = new double[length];
      System.out.println("Enter Cgpa of students : ");
      for( int i = 0; i < length; i++){
         input[i] = adnan.nextDouble();
      }
      double averageCgpa = averageCgpa(input);
      System.out.println("Average of students Cgpa : " + averageCgpa);
      adnan.close();
   }
   public static double averageCgpa(double [] input){
      double sum = 0f;
      for ( double number : input){
         sum = sum + number;
      }
      return sum / input.length;
   }
}

任何帮助将不胜感激。

【问题讨论】:

  • 好的,你到底想让数据类型做什么?
  • 如果可能的话,我希望它能够获取学生的成绩和学生人数@Sweeper

标签: java arrays types


【解决方案1】:

我为您准备了您想要的并为您工作,但您必须深入学习 oop 以学习 Java,并且在所有事情之前您必须处理它。

package com.test;



import java.util.Scanner;



public class Main {



public static void main(String[] args) {

    System.out.println("Enetr number of students : ");

    Scanner adnan = new Scanner(System.in);

    int length = adnan.nextInt();

    Student student = new Student(length, adnan);



    double averageCgpa = Student.averageCgpa(student.getInput());

    System.out.println("Average of students cgpa :  " + averageCgpa);

    adnan.close();

}

}

class Student {
int numberOfStudents;

double[] input = new double[numberOfStudents];



public Student(int numberOfStudents, Scanner scanner) {

    this.numberOfStudents = numberOfStudents;

    enterStudent(scanner);



}



private void enterStudent(Scanner scanner) {

    System.out.println("Enter cgpa of students : ");

    for (int i = 0; i < numberOfStudents; i++) {

        input[i] = scanner.nextDouble();

    }

}



public int getNumberOfStudents() {

    return numberOfStudents;

}



public void setNumberOfStudents(int numberOfStudents) {

    this.numberOfStudents = numberOfStudents;

}



public static double averageCgpa(double[] input) {

    double sum = 0f;

    for (double number : input) {

        sum = sum + number;

    }

    return sum / input.length;

}



public double[] getInput() {

    return input;

}



public void setInput(double[] input) {

    this.input = input;

}

}

【讨论】:

    【解决方案2】:

    如果你想得到数字的平均值,你可以这样写:

    double average = Arrays.stream(input).average().getAsDouble();
    

    但是如果你想写这样一个类,你可以这样写:

    public static class StudentsAverage {
    
            public static double average(double ...numbers)
            {
                double sum = 0;
                for (double number : numbers)
                {
                    sum += number;
                }
    
                return sum / numbers.length;
            }
    
        }
    

    两个提示:

    1- 当我们为方法使用static 关键字时,我们可以通过编写ClassName.MethodName 来使用该方法,我们不再需要创建对象。

    2- 当我们在方法参数中使用... 时,我们说此方法的客户端可以传递任意大小的参数。甚至方法的客户端也可以将数组作为参数传递。我们在每个方法中最多可以使用这个结构一次,并且这个参数必须是最后一个参数。

    【讨论】:

    • 我不认为你明白我在 Java 中的意思你可以创建自己的类我想你可以创建一个名为 student 的类,例如,你可以在你的 main 中调用它。它也应该有一些信息。
    【解决方案3】:

    在java中你必须使用类来定义你自己的数据类型; 请注意,在 java 中我们有八种原始数据类型: boolean int short long float double char 字节。 他们每个人都有一个对应的类。

    【讨论】:

      猜你喜欢
      • 2018-04-08
      • 2011-06-23
      • 2011-07-22
      • 1970-01-01
      • 2021-04-15
      • 2016-06-20
      • 2021-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多