이전에이 동일한 프로젝트에서 질문을했지만 아직 해결할 수없는 문제가 있습니다. 프로젝트에는 Person 클래스, Validator 클래스, Customer 클래스 및 Employee 클래스가 있습니다. Person 클래스는 Customer 클래스가 person 클래스를 확장하는 사람 (이름, 전자 메일)에 대한 데이터를 저장하고 고객 번호를 toString 메서드에 추가합니다. Employee 클래스는 또한 Person 클래스를 확장하고 사회 보장 번호를 재정의하여 toString 메서드로 확장합니다.다른 클래스의 toString()을 인쇄하십시오.
페이지 맨 아래에 고객 클래스 또는 직원 클래스에서 toString 메서드를 인쇄하려고합니다. 사용자가 선택한 정보 (직원 정보 또는 고객 정보를 입력하는 경우)에 따라 올바른 클래스를 인쇄하고 싶습니다.
할당에 구체적으로 "콘솔에 개체의 데이터를 인쇄하려면이 응용 프로그램 Person 객체를 받아들이는 print라는 정적 메서드를 사용해야합니다. "
내가 시작했다고 생각하지만 코딩 한 모든 종류의 빨간 선이 나타납니다. 주변에서 시작
줄을 아래쪽으로 내립니다.
나는 온라인에서 그것을 보면서 문제가 더 깊어지고 있다고 생각하기 시작했다. 누군가가 그것을 통해 나를 도울 수 있다면 나는 위대 할 것이다. 내 책은이 작업을 수행하는 방법을 많이 보여주지 않으며 입력 예제를 만든 다음 인쇄하는 것처럼 보이는 모든 예제가 사용자로부터 입력을 얻으려고하므로 혼란스러워집니다.
import java.util.Scanner;
public class PersonApp
{
public static void main(String[] args)
{
//welcome user to person tester
System.out.println("Welcome to the Person Tester Application");
System.out.println();
Scanner in = new Scanner(System.in);
//set choice to y
String choice = "y";
while (choice.equalsIgnoreCase("y"))
{
//prompt user to enter customer or employee
System.out.println("Create customer or employee (c/e): ");
String input = in.nextLine();
if (input.equalsIgnoreCase("c"))
{
String firstName = Validator.getString(in, "Enter first name: ");
String lastName = Validator.getString(in, "Enter last name: ");
String email = Validator.getEmail(in, "Enter email address: ");
String custNumber = Validator.getString(in, "Customer number: ");
Customer customer = new Customer(firstName, lastName, email, custNumber);
}
else if(input.equalsIgnoreCase("e"))
{
String firstName = Validator.getString(in, "Enter first name: ");
String lastName = Validator.getString(in, "Enter last name: ");
String email = Validator.getEmail(in, "Enter email address: ");
int empSoc = Validator.getInt(in, "Social security number: ");
Employee employee = new Employee(firstName, lastName, email, empSoc);
}
public void toString()
{
Person p;
p = c;
System.out.println(c.toString());
p = e;
System.out.println(e.toString());
}
System.out.println("Continue? y/n: ");
choice = in.nextLine();
System.out.println();
}
}
}
toString은 void가 아닌 String을 반환합니다. '빨간색 텍스트'에 대한 툴팁은 대부분의 시간에 잘못된 점을 알려줍니다. – Thomas
나는 당신이 그것을 이해하지 못하는 인터넷에서 코드를 복사함으로써 당신이 혼란에 빠져 있다고 동의한다. 이 경우 더 큰 문제는 다른 메소드 ('main')의 중간에'toString' 메소드에 대한 코드를 붙여 넣는 것입니다. 이 코드는 쓸모가 없다. 돌아가서 한 번에 한 걸음 씩 나가야합니다. – madth3
@ madth3 사실 나는 그 부분을 직접 코드화하고 작동하지 않을 때 인터넷 검색을 시작했습니다. 나는 그것이 훨씬 나아진 것을 모르지만, 적어도 나는 내 자신의 LOL에 그것을 다 망쳤다고 말할 수있다. –