2017-12-02 2 views
-2

사용자가 입력 한 정수를 읽는 프로그램을 함께 가져 오려고합니다. 나는 자바에서 이것을하는 가장 일반적인 방법 인 스캐너 클래스에 대해 읽었습니다. 그러나 like this one 사이트에 주어진 the examples 붙여 넣기를 복사하면 어떻게 수정해야하는지 알지 못하는 오류가 발생합니다. 게시 된 모든 내용이 문제가 없어야하는 완성 된 코드로되어 있기 때문에 어느 쪽이 실망 스럽습니까?스캐너 클래스가 Java에서 작동하도록 할 수 없습니다.

일을 해야하는 몇 가지 코드의 예 :

import java.util.Scanner; 

public class ScannerDemo { 
    public static void main(String[] arguments){ 
     Scanner input = new Scanner(System.in); 

     String username; 
     double age; 
     String gender; 
     String marital_status; 
     int telephone_number; 

     // Allows a person to enter his/her name 
     Scanner one = new Scanner(System.in); 
     System.out.println("Enter Name:"); 
     username = one.next(); 
     System.out.println("Name accepted " + username); 

     // Allows a person to enter his/her age 
     Scanner two = new Scanner(System.in); 
     System.out.println("Enter Age:"); 
     age = two.nextDouble(); 
     System.out.println("Age accepted " + age); 

     // Allows a person to enter his/her gender 
     Scanner three = new Scanner(System.in); 
     System.out.println("Enter Gender:"); 
     gender = three.next(); 
     System.out.println("Gender accepted " + gender); 

     // Allows a person to enter his/her marital status 
     Scanner four = new Scanner(System.in); 
     System.out.println("Enter Marital status:"); 
     marital_status = four.next(); 
     System.out.println("Marital status accepted " + marital_status); 

     // Allows a person to enter his/her telephone number 
     Scanner five = new Scanner(System.in); 
     System.out.println("Enter Telephone number:"); 
     telephone_number = five.nextInt(); 
     System.out.println("Telephone number accepted " + telephone_number); 
    } 
} 

대신 프로그램 실행, 그것은 나에게 두 가지 오류를 제공합니다. 에

하여 라인 public class ScannerDemo { 그것은 나에게이 오류 제공 : 다음 줄 public static void main(String[] arguments){

Illegal modifier for the local class ScannerDemo; only abstract or final is permitted

를 내가이 오류를 얻을 : 나는 스캐너의 다양한 형태로 이것을 시도

The method main can not be declared static; static methods can only be declared in a static or top level type.

을 그 언제든지 갈 준비가되어 있고 때마다 오류가 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 어떻게 해결할 수 있습니까?

내가 처리 3. @Hovercraft 방금 ScannerDemo.java라는 파일에이 코드가 필요 언급 한 것처럼 내가 믿는

+5

ScannerDemo가 로컬 클래스가 아니어야하며 파일의 유일한 클래스 여야하며 파일 이름은 ScannerDemo.java 여야합니다. –

+0

핵심 정보이므로 가공 정보를 처리해야합니다. 처리는 ** Java가 아니므로 질문은 실제로 Java 문제가 아닙니다. –

+0

나의 나쁜, 이것은 나의 첫번째 포스트 여기에있다. 나는 Processing이 java IDE 였다고 생각했다. –

답변

-1

를 사용하고, 서로 다른 파일 이름에 그것을 가지고 추측되었다.

+0

처리 3 (게시물에 추가됨)을 사용하고 파일에 .pde 태그를 제공합니다. 파일에 다른 태그를 제공 할 수는 없습니다. ScannerDemo.pde라는 이름으로이 오류가 발생했습니다 : "ScannerDemo는 스케치 또는 그 둘러싸는 클래스와 같은 이름을 가질 수 없습니다". –

-1

클래스 이름과 파일 이름이 같아야합니다. 이것은 첫 번째 오류에 대한 결정입니다.

public static void main(String[] arguments){ 

첫 번째 오류 때문에 작동하지 않습니다.

0

자바와 처리의 차이점을 이해하십시오. 처리는 고유 한 구문 규칙을 사용하는 자체 언어 및 편집기이며 임의의 Java 코드를 복사하여 붙이기 만하면 작동합니다. Processing이 어떻게 작동하는지 이해하고 Processing에서 작동하는 방식으로 코드를 추가해야합니다.

처리 편집기를 사용한다고 가정하면 주 스케치 파일에는 클래스가 포함되어서는 안되며 main() 메서드가 포함되어서는 안됩니다. 대신 setup()draw() 함수를 포함해야합니다.

클래스를 사용하려면 main() 메서드를 제거하고 클래스 내부 함수에 논리를 캡슐화 한 다음 해당 클래스를 사용하는 setup() 또는 draw() 함수를 추가하십시오.

또는 더 나은 방법은 수업 사용을 중단하고 Scanner을 처리 코드에 사용하는 것입니다.

여전히 작동하지 않으면 MCVE을 새 질문지에 게시하십시오. 행운을 빕니다.

관련 문제