如何同时应用 Scanner 和多个对象? - 新手
How can I apply Scanner and multiple objects at the same time? - newbie
我怎样才能满足这里的所有条件?在网上找不到任何例子。我只是不知道要使用什么代码。我尝试编写一些代码,但我知道这与实际要求我的内容相去甚远。问题是
"写一个javaclass叫Student。Studentclass会有四个数据成员:
姓名(字符串)、年龄(整数)、学期号(整数)和 GPA(浮点数)。
编写一个 java 程序来测试你的学生 class。你的程序应该: 创建三个
学生对象,输入他们的姓名、年龄、学期号(假设值从 1 到 8),以及
GPA(假设值从 0.0 到 4.0)并显示每个学生的数据。继续
学生 class,计算并显示三个学生的平均 GPA。(需要用户输入)"
我想出的代码是`
import java.util.Scanner;
class Student {
public static void main(String[] args) {
String name, name1, name2;
int age1, age2, age3, semesterNo1, semesterNo2, semesterNo3;
float GPA1, GPA2, GPA3, Average;
Scanner in = new Scanner(System.in);
System.out.print("Name:");
name = in.nextLine();
System.out.print("Age:");
age1 = in.nextInt();
System.out.print("Semester:");
semesterNo1 = in.nextInt(9);
System.out.println("GPA:");
GPA1 = in.nextFloat();
Scanner input = new Scanner(System.in);
System.out.print("Name:");
name1 = input.nextLine();
System.out.print("Age:");
age2 = input.nextInt();
System.out.print("Semester:");
semesterNo2 = input.nextInt(9);
System.out.println("GPA:");
GPA2 = input.nextFloat();
Scanner inputs = new Scanner(System.in);
System.out.print("Name:");
name2 = inputs.nextLine();
System.out.print("Age:");
age3 = inputs.nextInt();
System.out.print("Semester:");
semesterNo3 = inputs.nextInt(9);
System.out.println("GPA:");
GPA3 = inputs.nextFloat();
Average = (GPA1 + GPA2 + GPA2) / 3;
System.out.println("Average GPA:" + Average);
}
}
`
根据你的问题,你应该创建一个学生的对象class。所以学生 class 应该包含
class Student {
// data members
String name;
int age, semester number;
float GPA;
}
并且从 main 方法你应该创建学生的对象 class 比如:
Student std1 = new Student();
Student std2 = new Student();
Student std2 = new Student();
现在您可以像这样访问每个对象的数据成员:
std1.name = "Some name" // std1.name = in.nextLine();
std1.age = // some age
std1.GPA = // your GPA
您可以对每个对象执行相同的操作。使用适当的方式从扫描仪对象获取输入,并如上所示存储它。
终于计算出GPA并显示:)
[已编辑] 简单示例:
// import Scanner class for console base input
import java.util.Scanner;
// your student class
class Student {
// data members
String name;
int age;
float GPA;
// display method
void display() {
System.out.println("Your name: "+this.name);
System.out.println("Your age: "+this.age);
System.out.println("Your GPA: "+this.GPA+"\n");
}
}
// class which contain main method (enty point)
class StudentInfo {
public static void main(String[] args) {
// create object of scnner
Scanner in = new Scanner(System.in);
// create three different object of student
Student std1 = new Student();
Student std2 = new Student();
Student std3 = new Student();
// new set data for student
System.out.println("Enter name, age and GPA of student:");
//for first student
std1.name = in.next();
std1.age = in.nextInt();
std1.GPA = in.nextFloat();
// for second student
System.out.println("Enter name, age and GPA of student:");
std2.name = in.next();
std2.age = in.nextInt();
std2.GPA = in.nextFloat();
// for third student
System.out.println("Enter name, age and GPA of student:");
std3.name = in.next();
std3.age = in.nextInt();
std3.GPA = in.nextFloat();
// display info of each student
std1.display();
std2.display();
std3.display();
// now calculate Average GPA and display
float avg = (std1.GPA + std2.GPA + std3.GPA)/3;
System.out.println("Average GPA: "+ avg);
}
}
我怎样才能满足这里的所有条件?在网上找不到任何例子。我只是不知道要使用什么代码。我尝试编写一些代码,但我知道这与实际要求我的内容相去甚远。问题是
"写一个javaclass叫Student。Studentclass会有四个数据成员: 姓名(字符串)、年龄(整数)、学期号(整数)和 GPA(浮点数)。 编写一个 java 程序来测试你的学生 class。你的程序应该: 创建三个 学生对象,输入他们的姓名、年龄、学期号(假设值从 1 到 8),以及 GPA(假设值从 0.0 到 4.0)并显示每个学生的数据。继续 学生 class,计算并显示三个学生的平均 GPA。(需要用户输入)"
我想出的代码是`
import java.util.Scanner;
class Student {
public static void main(String[] args) {
String name, name1, name2;
int age1, age2, age3, semesterNo1, semesterNo2, semesterNo3;
float GPA1, GPA2, GPA3, Average;
Scanner in = new Scanner(System.in);
System.out.print("Name:");
name = in.nextLine();
System.out.print("Age:");
age1 = in.nextInt();
System.out.print("Semester:");
semesterNo1 = in.nextInt(9);
System.out.println("GPA:");
GPA1 = in.nextFloat();
Scanner input = new Scanner(System.in);
System.out.print("Name:");
name1 = input.nextLine();
System.out.print("Age:");
age2 = input.nextInt();
System.out.print("Semester:");
semesterNo2 = input.nextInt(9);
System.out.println("GPA:");
GPA2 = input.nextFloat();
Scanner inputs = new Scanner(System.in);
System.out.print("Name:");
name2 = inputs.nextLine();
System.out.print("Age:");
age3 = inputs.nextInt();
System.out.print("Semester:");
semesterNo3 = inputs.nextInt(9);
System.out.println("GPA:");
GPA3 = inputs.nextFloat();
Average = (GPA1 + GPA2 + GPA2) / 3;
System.out.println("Average GPA:" + Average);
}
}
`
根据你的问题,你应该创建一个学生的对象class。所以学生 class 应该包含
class Student {
// data members
String name;
int age, semester number;
float GPA;
}
并且从 main 方法你应该创建学生的对象 class 比如:
Student std1 = new Student();
Student std2 = new Student();
Student std2 = new Student();
现在您可以像这样访问每个对象的数据成员:
std1.name = "Some name" // std1.name = in.nextLine();
std1.age = // some age
std1.GPA = // your GPA
您可以对每个对象执行相同的操作。使用适当的方式从扫描仪对象获取输入,并如上所示存储它。
终于计算出GPA并显示:)
[已编辑] 简单示例:
// import Scanner class for console base input
import java.util.Scanner;
// your student class
class Student {
// data members
String name;
int age;
float GPA;
// display method
void display() {
System.out.println("Your name: "+this.name);
System.out.println("Your age: "+this.age);
System.out.println("Your GPA: "+this.GPA+"\n");
}
}
// class which contain main method (enty point)
class StudentInfo {
public static void main(String[] args) {
// create object of scnner
Scanner in = new Scanner(System.in);
// create three different object of student
Student std1 = new Student();
Student std2 = new Student();
Student std3 = new Student();
// new set data for student
System.out.println("Enter name, age and GPA of student:");
//for first student
std1.name = in.next();
std1.age = in.nextInt();
std1.GPA = in.nextFloat();
// for second student
System.out.println("Enter name, age and GPA of student:");
std2.name = in.next();
std2.age = in.nextInt();
std2.GPA = in.nextFloat();
// for third student
System.out.println("Enter name, age and GPA of student:");
std3.name = in.next();
std3.age = in.nextInt();
std3.GPA = in.nextFloat();
// display info of each student
std1.display();
std2.display();
std3.display();
// now calculate Average GPA and display
float avg = (std1.GPA + std2.GPA + std3.GPA)/3;
System.out.println("Average GPA: "+ avg);
}
}