2017-11-25 1 views
-2

그래서 나는 원하는 숫자를 입력 한 다음 하나 더 입력하도록 요청하는이 일을하고 있습니다. 코드는 해당 번호가 처음 제출 된 번호 중 하나인지 확인해야합니다. 그렇다면 해당 메시지가 있었음을 알리는 메시지가 나타나고 프로그램을 종료합니다. 누군가가 스캐너를 올바르게 사용하는 방법을 알려 줄 수 있습니까, 아니면 내 코드에서 문제가 아닌 경우 코드를 수정하는 데 도움이 될 수 있습니까?스캐너를 사용하는 데 도움이 필요합니다.

package individuellt_val; 

    import java.util.Scanner; 
    import javax.swing.JOptionPane; 


    public class InlKap9test2 { 

     public static void main(String[] args) { 
      String s = JOptionPane.showInputDialog("Ange några tal"); 
      Scanner sc = new Scanner(s); 
      int x = 0, y = 0; 
      boolean fortsätt = true; 

      while(fortsätt){ 
       while(sc.hasNextInt()){ 
        x = sc.nextInt(); 

       String s2 = JOptionPane.showInputDialog("Ange ett tal till"); 
       Scanner sc2 = new Scanner(s2); 
       while(sc2.hasNextInt()) 
       y = sc.nextInt(); 

       if(x == y){ 
        JOptionPane.showMessageDialog(null, "Detta tal fanns bland de första!"); 
        fortsätt = false; 
       } 
       } 
      } 
    System.exit(0); 
     } 

    } 
+1

1) * "제대로 작동하지 않는 것 같습니다."* 질문을 할 수 있습니까? 2) 코드 및 코드 단편, HTML/XML 또는 입/출력과 같은 구조화 된 문서의 코드 형식을 사용하십시오. 이렇게하려면 텍스트를 선택하고 메시지 게시/편집 양식 상단의 '{}'버튼을 클릭하십시오. –

+0

새 스캐너 (System.in) 사용 –

답변

1

설명

new Scanner(s)이 올바르지 않습니다. s은 문자열이고 ScannerPrintStream이 필요합니다. 키보드에서 원할 경우 System.in 일 수 있습니다. Scanner sc = new Scanner(System.in)

변경 Scanner sc = new Scanner(s);를 해결하는 방법

.

0

String s = JOptionPane.showInputDialog ("Ange några tal"); 스캐너 sc = 새 스캐너

여기서 스캐너에서는 참조를 통과 할 수 없습니다. 사용 new Scanner(System.in);

콘솔 및 키보드에서 이제 입력이 필요합니다.

관련 문제