2013-04-11 5 views
0

제목에서 언급했듯이, 누구로부터도 입력을받을 수 없습니다. InputTypeMismatch의 오류를 반향시켜야합니다. 그렇지 않으면 숫자를 입력하면 null 참조 오류가 발생합니다.CMD를 통해 입력하는 데 문제가 있습니다 - java

누군가가이를 수정할 수 있습니까? 이것은 나를 미치게 만든다. 나는 어디에서 확인할 지 모른다.

덕분 여기서 미리 :)

Exception in thread "main" java.util.InputMismatchException 
      at java.util.Scanner.throwFor(Unknown Source) 
      at java.util.Scanner.next(Unknown Source) 
      at java.util.Scanner.nextFloat(Unknown Source) 
      at TestFile.promptsentence(TestFile.java:54) 
      at TestFile.main(TestFile.java:43) 

인 예이다

public class TestFile(){ 

      Scanner inp = new Scanner(System.in); 

      public static main(String[] args){ 
        long inp = inp.NextLong(); 
        // prompts 
        String input = Long.valueOf(inp); 

        System.out.println(input); 

      } 


    } 
+0

나는 downvote와 1 개의 개정판을 얻었다. 그들은 사전에 고마워했다 :) ... – user2262111

+1

주요 방법 밖에 넣어. main 메소드에서 물건을 호출하는 경우/아래에서 main 메소드보다 위에있는 – Drogba

+0

을보십시오./main 메소드에서 호출 할 것입니다. – user2262111

답변

-2
/* Here among class variables, outside any methods:*/ 

    Private TestFile f; 

    public static void main(String[] args) { 

     f = new TestFile(); 
     f.promptsentence(); 

    }; 

희망, 그것은 충분히 분명하다.

나머지 코드에 대해서는 언급하지 않았습니다. 객체 f 선언 및 할당에 관한 질문에 답하는 것입니다.

+0

나는 네가 여기서 한 짓을 좋아해. 나는 이런 것을하고 그것을 해결했다. 감사. – user2262111

-1

TestFile fpublic void repart()의 범위 내에 있지. 지금

public class TestFile { 

    private TestFile f = new TestFile(); 

    public static main(String[] args){ 
     // Some Code 
    } 

    public void repart() { 
     if(f.checksent(1) == true){ 
      // some code 
     } 
    } 
} 

그것은 해야 작업 같은 것을 수행하여 주요 외부에서 넣어. 전반적으로 이것이 좋은 방법이라고 생각하지 않습니다. 내가이 임무를 수행한다면 (나는 임무를 맡고있다) 나는 2 클래스 파일을 만들 것이다. 하나는 Main이고 하나는 TestFile입니다.

// TestFile.java 
public class TestFile { 

    public TestFile() { 
     // some constructor stuff 
    } 

    public void repart() { 
     if(f.checksent(1) == true){ 
      // some code 
     } 
    } 
} 

// Main.java 
public class Main{ 

    private TestFile f = new TestFile(); 

    private static TestFile f = new TestFile(); 

    public static main(String[] args){ 
     f.repart(); 
    } 

} 

이 IMO 그것을 할 수있는 더 좋은 방법입니다

. 희망이 도움이됩니다.

+0

나는 f가 정적이 아니라는 오류를 여전히받습니다. – user2262111

+0

@pattmorter - ** 틀린 **. 'Private TestFile f'; 'main()'에서'f = newTESTfile();'으로 시작되는 클래스 변수 여야한다. main이 다른 모든 메소드를 호출한다고 가정한다. –

+0

@ user2262111 그런 다음'Private TestFile f'를'private static TestFile f'로 변경하십시오. 그리고 @ PM77-1, ** ok **. – pattmorter

-1

나는 당신이 여기 Java Class and Object

  • main() 함수의 구문은 잘못된 것입니다 당신이 가지고있는 오류입니다 컴파일시 에러

    을 시작하는 것이 도움이 될 것이라 생각합니다. 그것은 같아야합니다 public static void main(String[] args)
  • 당신은 "checksent()"메소드가 정의되어 있지 않으며 액세스하려고합니다.
+0

아니, 링크 주셔서 감사합니다. – user2262111

관련 문제