2017-11-25 149 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是一个字符串,而Scanner需要PrintStream。你可能想从键盘上找到它,又名System.in

如何解决

变化Scanner sc = new Scanner(s);Scanner sc = new Scanner(System.in)

0

String s = JOptionPane.showInputDialog(“Angenågratal”); 扫描仪sc =新扫描仪

在这里你不能通过扫描仪的参考。 使用 new Scanner(System.in);

它现在将从控制台,即键盘输入输入。