gpt4 book ai didi

java - 可以以这种方式使用扫描仪吗?

转载 作者:太空宇宙 更新时间:2023-11-04 14:31:52 25 4
gpt4 key购买 nike

我正在编程一些东西,创建多个教师对象:

public class Teacher {

// 1) Define instance variables
String teacherName;
String catchPhrase;
public static int roomNum;
// 2) Write the constructor method

public Teacher() {
teacherName = "unknown";
catchPhrase = "unknown";
roomNum = 0;
}//end no-arg constructor

public Teacher(String newTeacher, String newCatch, int newRoom) {
teacherName = newTeacher;
catchPhrase = newCatch;
roomNum = newRoom;
}



// 3) Write the proccessing methods (getters and setters)

public void setName(String newName) {
teacherName = newName;
}

public String getName() {
return teacherName;
}

public static int getRoom() {
return roomNum;

}

// 4) Write the out method (eg toString() method)

public String toString() {

String str = "Name: " + teacherName + ". \nCatch phrase: " + catchPhrase + " \nRoom number: " + roomNum + ".";

return str;

}//end toString

public static void main(String args[]) {

}
}

它的执行方式是这样的:

Teacher teacherName("First Last", "Catch Phrase", 123); 

我有多个教师对象。我正在尝试制作一个扫描仪来检查用户的输入,以查看输入的数字是否是这些对象之一的房间号:

 while (input != -1) {
Scanner scan = new Scanner(System.in);
input = scan.nextInt();
if(input == Teacher.getRoom()) {
System.out.println("Yes");
} else if(input != Teacher.getRoom()) {
System.out.println("Nope");
}

}

但我不知道该怎么做。或者如果可能的话。

任何帮助将不胜感激。

谢谢!

编辑:

我尝试了不同的方法。我尝试使用带有房间号的数组,并将其与输入进行比较,但没有成功。

int[] rooms = {220, 226, 204, 234, 236, 242, 243, 129, 125, 136, 101, 104, 107, 113, 103, 105, 102, 108, 117, 111, 111, 313, 310, 132, 127, 129, 125, 
+ 124, 122, 126, 130, 137, 114, 138, 136, 123, 135, 128, 139, 134, 220, 215, 211, 222, 253, 213, 252, 231, 255, 224, 254,
+ 218, 235, 233, 000, 212, 223, 257, 217, 259, 214, 240, 258, 221, 210, 219, 256, 216, 110, 133, 115, 423, 253, 230, 115, 106, 1062, 418, 415};

if (rooms.equals(input)) {
System.out.println("Yes");
} else {
System.out.println("Nope");
}

那没用。也没有:

 if (Arrays.asList(rooms).contains(input)) {
System.out.println("Yes");
} else {
System.out.println("Nope");
}

任何有关使其在整数数组中使用的帮助(或更好的方法)将不胜感激。

谢谢。

编辑2:

我的工作方式是这样的:

if (rooms.contains(input)){
System.out.println("That teacher is in our database!");
//System.out.println(new int[(rooms).indexOf(1)]);
} else {
System.out.println("Sorry, that teachner was not found in our database!");
}

非常感谢!

最佳答案

最简单的方法是创建一个 Teacher 数组,然后在 while 循环中放置一个 for 循环,循环遍历所有 Teacher 对象并检查房间号。或者更好的是,创建一个仅包含房间号的数组并循环遍历它。

此外,您可能想在 while 循环之外实例化扫描仪,然后执行 while(scan.hasNextInt()){...

所以会是这样的

Scanner scan = new Scanner(System.in);
Teacher[] teachears...
while (scan.hasNextInt()) {
input = scan.nextInt();
boolean isARoom = false;
for(Teacher teach : teachers){
if(input == teach.getRoom()) {
isARoom = true;
}
}
if(isARoom)
System,out.println("Yes");
else
System,out.println("No");
}

关于java - 可以以这种方式使用扫描仪吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com