Scanner nos = new Scanner(System.in);
int z = Integer.parseInt(nos.nextLine());
if (nos.equals("end") | nos.equals("End") | nos.equals("END")) {
System.exit(0);
}
System.out.println("Number of Students is " + z);
Student[] Students = new Student[z];
数组长度是预先确定的,并且从那里基于对象的数量和所有这些属性,将打印数组以四个属性的形式显示所有对象。
for (int i = 0; i < z; i++) {
Students[i] = new Student();
for (int g=0; g<z; g++) {
Students[i] = new Student[] {firstname + "," + lastname + "," + age + "," + id};
System.out.println(Students[i]);
我遇到了字符串和整数两种数据类型的问题,我找不到一个好的方法来制作两种数据类型的数组。此外,如果用户在任何时候键入end,代码将停止运行。}
在Java中,不可能像在Python中那样在数组中存储不同的数据类型。但是,您可以做的是为每个特性创建实例变量,然后创建一个构造函数,在其中存储用户对每个student对象的输入。像这样:
java prettyprint-override">//instance variables
String firstName;
String lastName;
int age;
int id;
//constructor for Student class
public Student(String firstName, String lastName, int age, int id) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.id = id;
}
我看到您有一个for循环来在数组的每个索引中存储一个新的student对象,然后有一个for循环来存储每个student对象的变量。实际上,您可以使用一个for循环来完成所有这些操作。在循环中,您将使用扫描器对象检索每个学生的firstname
、lastname
、age
和id
的用户输入。从这里开始,您将为创建的每个新student对象分配这些变量,并将该对象存储在您的students数组中。我添加了一些print语句,为用户的输入提供了更多的上下文。然后可以使用system.out.printf()
而不是system.out.println
来格式化输出。至于您的程序在用户输入“end”时停止,因为您将z
变量解析为一个整数,所以它需要一个整数。您可以简单地通过将用户的输入作为字符串传递,然后在if语句之后将变量解析为新的int变量来解决这个问题。
代码如下:
Scanner nos = new Scanner(System.in);
String z = nos.next();
if (z.equals("end") || z.equals("End") || z.equals("END")) {
System.exit(0);
}
System.out.println("Enter number of students: ");
int studentNumber = Integer.parseInt(z);
System.out.println("Number of Students is " + studentNumber + "\n");
Student[] students = new Student[studentNumber];
for (int i = 0; i < students.length; i++) {
System.out.println("Enter student " + (i+1) + "\'s first name:");
String firstname = nos.next();
System.out.println("Enter student " + (i+1) + "\'s last name:");
String lastname = nos.next();
System.out.println("Enter student " + (i+1) + "\'s age:");
int age = nos.nextInt();
System.out.println("Enter student " + (i+1) + "\'s id:");
int id = nos.nextInt();
students[i] = new Student(firstname, lastname, age, id);
System.out.printf("Student %d: %s, %s, %d, %d\n", i + 1, students[i].firstName, students[i].lastName, students[i].age, students[i].id);
}
System.out.println("\nAll students in array:" );
for(int i = 0; i < students.length; i++) {
System.out.printf("Student %d: %s, %s, %d, %d\n", i + 1, students[i].firstName, students[i].lastName, students[i].age, students[i].id);
}
问题 你有一组对象,例如: cats = [ { name: "Bubbles" age: 1 }, { name: "Sparkle" favoriteFood: "tuna" } ] 但是你想让它像词典一样,可以通过关键字访问它,就像使用 cats["Bubbles"]。 解决方案 你需要将你的数组转换为一个对象。通过这样使用 reduce: #
我在创建包含自定义对象数组的数组时遇到了问题。 出于多种原因,我希望将容器创建为可比较数组的标准数组: 其中包含的每个自定义对象数组必须具有不同的长度 自定义对象数组内置了自动排序工具,这些工具不适合我希望它们适合的较大包含数组 自定义对象数组可以工作,并且已经过彻底测试。 我在创建较大对象时收到的例外情况是: 线程“main”中出现异常java.lang.ClassCastException:
我需要创建一个对象(银行),其中包含一组客户端和bankID。我的问题是,我不知道如何在主函数中创建银行。 银行类别: 客户端类: 主要类别: 这些是问题所在: 你必须创建一个程序来模拟银行活动。该系统包括以下模块:银行—客户(客户数组)— idBank(字符串)5 BancAccount — accountNumber(字符串)—金额(浮点)客户—姓名(字符串)—地址(字符串)—账户(银行账户数
我有两个数组:和。 数组中的示例值:。 数组中的值示例:。 我需要创建一个JavaScript对象,将数组中的所有项放在同一个对象中。例如
我有一个从列表中选择项目的代码,我有一个扫描器来扫描文件(每行有电影,然后是演员),并将电影添加到数组中。我该怎么做才能让它添加到arraylist中的每一部电影都能在线存储紧随其后的演员?例如:每行有一行是电影名(日期)/LastName、FirstName/Lastname2、Firstname2/等等。我的代码包含一个类电影,它将电影名称转换为字符串。我怎么能在任何给定点搜索任何电影,并让它
问题内容: 我是Java的新手,当时我用Java创建了一系列对象。 例如,我有A类 但这只是创建指向A的指针(引用),而不是4个对象。它是否正确?我看到当我尝试访问创建的对象中的函数/变量时,出现空指针异常。为了能够操作/访问对象,我必须这样做 这是正确的还是我做错了什么?如果这是正确的,那真的很奇怪。 编辑:我觉得这很奇怪,因为在C ++中,你只是说新的A [4],它创建了四个对象。 问题答案: