나는 main
방법에서 클래스 myClass
에있는 방법 findRoom()
호출 오전 :모두 같은 클래스에있는 또 다른 방법에서 메서드를 호출
int room[]= {1,2,3,4,5,6,7,8,9,10};
String customer[] = {"","Shay","","Yan","Pan","","","Xiao","Ali",""};
myClass m = new myClass();
m.findRoom(customer, room);
은 다음 클래스 myClass
가 될 때 :
class myClass {
int count = 0;
public void findRoom(String customerName[], int roomNo[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter Customer's Name");
String name = sc.next();
for (int i = 0; i < 10; i++) {
if (customerName[i].equalsIgnoreCase(name)) {
System.out.println(roomNo[i]);
count++;
break;
} else {
count++;
}
}
myMethod(customerName, roomNo);
}
public void myMethod(String cusName[], int rooms[]) {
myClass m = new myClass();
if (m.count == 10) {
System.out.println("Please check the name again");
m.count = 0;
m.findRoom(cusName, rooms);
}
}
}
사용자가 입력 한 이름이 배열 customer[]
에없는 경우 사용자가 고객의 이름을 다시 입력하라는 메시지가 프로그램에 표시됩니다. 그래서 나는 myMethod()
이라는 메쏘드를 만들었고, 사용자에게 고객의 이름을 다시 입력하라고 요구할 것입니다.
사용자가 배열에 이미있는 이름을 입력해도 사용자가 배열에없는 이름을 입력하면 프로그램이 제대로 작동합니다. 방법 myMethod()
이 호출되지 않습니다. 이것에 대한 가능한 이유는 무엇일까요? 매개 변수 전달에 문제가 있습니까? 어떤 도움을 주셔서 감사합니다. =)
언제나 항상 클래스 이름은 대문자로 시작해야합니다. –
myMethod를 호출하여 새 MyClass 객체를 만들 때마다 항상 클래스 이름을 사용해야합니다. 메서드에서 if 조건을 만족하지 못하는 새로 만든 객체의 인스턴스 변수 (개수)에 액세스하고 있습니다. –