如何从Java(控制台)中的用户获取输入?

问题描述:

下面我有一个我的完整代码的井字游戏程序的副本。我知道它还没有太多,但我被困在获取输入部分。我已经设法从用户​​那里得到1个输入,然后将其输出(列),但是当我尝试为行输入不同的东西时,它给了我用于列的任何内容。有关如何解决它的任何想法?如何从Java(控制台)中的用户获取输入?

我刚刚学习java,请温柔。

import java.io.*; 

public class Main { 

    public static void main(String[] args) throws IOException { 

     System.out.println ("Please make your first move by entering a column and then a row, like this: c r \n"); 

     int columnGotten = 0; 
     int rowGotten = 0; 

     //gets your column number choice 

     BufferedReader columnInput = new BufferedReader(new InputStreamReader (System.in)); 

     try { 
      columnGotten = Integer.parseInt(columnInput.readLine()); 
     } catch (NumberFormatException nfe) { 
      System.out.println ("If you're not going to play fair, I'm going to leave. Bye."); 
      return;   
     } 

     System.out.print ("Your column is " + columnGotten + "\n"); 

     //gets your row number choice 

     BufferedReader rowInput = new BufferedReader(new InputStreamReader (System.in)); 

     try { 
      rowGotten = Integer.parseInt(rowInput.readLine()); 
     } catch (NumberFormatException nfe) { 
      System.out.println ("If you're not going to play fair, I'm going to leave. Bye."); 
      return;   
     } 

     System.out.print ("Your row is " + columnGotten);   

    } 

} 
+0

您不得建立新的阅读器,只需使用前面的阅读器。 – 2012-03-11 22:59:52

+0

我试图做到这一点,但它仍然给了我相同的错误(显示旧的输入)。 – Vasu 2012-03-11 23:01:06

变化

System.out.print ("Your row is " + columnGotten);

System.out.print ("Your row is " + rowGotten);

+0

当然,* facepalm *。非常感谢! – Vasu 2012-03-11 23:03:07

+0

别担心。即使是最先进的开发者也会犯这样的错误。只要您复制/粘贴以仔细检查更改,请记住。 ;) – iCantSeeSharp 2012-03-11 23:05:02

+0

当然,谢谢你的帮助:) – Vasu 2012-03-11 23:06:03

使用扫描仪尝试输入。

Scanner sc = new Scanner(); 
int x = sc.nextInt(); 
String s = sc.nextLine(); 

依此类推。希望能帮助到你。

+0

我会试试这个 - 它似乎比使用BufferedReader更简单 - 它们是否具有相同的功能? – Vasu 2012-03-11 23:03:33

+0

是的。它更整洁,更不容易出错。 'javap java.util.Scanner'获取更多信息。 – h4ck3d 2012-03-11 23:06:00

+0

请参阅http://docs.oracle.com/javase/6/docs/api/java/util/Scanner.html – DNA 2012-03-11 23:06:48