2015-04-27 63 views
2

我寫了下面的代碼:BlueJ的輸入和通過鍵盤

import java.io.*; 
public class Typer 
{ 
    public static void main(String[] args) 
    { 
     Console cons; 
     cons = System.console(); 
     boolean edition = true; 
     if(cons == null) 
     { 
      edition = false; 
     } 
     if(edition) 
     { 
      String name = cons.readLine("Give your name: "); 
      System.out.println("Your name is: "+ name); 
     } 
     else 
     { 
      System.out.println("There is no console!"); 
     } 
    } 
} 

我使用BlueJ的,並沒有提示輸入。它只是打印出來沒有控制檯!任何thougts?謝謝!

當我編譯和運行在PowerShell程序它運行正常。由於某種原因,bluej與此有所不同。

+0

也許沒有系統控制檯?然後它返回'null'。 – Maroun

+0

當我在PowerShell中編譯並運行程序時,它運行正常。由於某種原因,bluej與此有所不同。 –

+0

它正在等待您的輸入..會發生什麼?請解釋 – Maroun

回答

1

要使用BlueJ輸入任何值,我通常使用BufferedReader語句。 它是這樣的, BufferedReader name = new BufferedReader(new InputStreamReader(System.in)); 在類或方法中寫入此語句之後,可以使用控制檯輸入任何值。 務必在詢問價值後再發表聲明。 整數的情況下 - int variable name = Integer.parseInt(name.readLine);

+0

謝謝。我使用Scanner找到了一個解決方案,並且完成了我在Powershell和Eclipse上的大部分課程。還是謝謝! –

0

我認爲BlueJ有一個視圖>控制檯或視圖>輸出窗口。我相當肯定,但自從使用Bluej以來已經很長時間了。總之,您可以使用掃描儀對象。掃描儀是處理輸入的好方法,我認爲它更常用於輸入。它是Java API以及如何使用它的例子的一部分可以在這裏找到:

http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

在頁面上顯示的代碼用於從文件進行掃描,但也可以使用同樣的方法從控制檯獲得輸入,然後做一些事情。當您運行代碼時,無論您看到System.out.println調用的輸出,程序都應該等待您輸入內容。