2017-11-15 8 views
1

以下のコードで私を助けてください:我々はプログラムを保持するためにgetchは()を使用することができます"enter"を押すと、コードはさらに進んでいくように書くべきでしょうか?

import java.util.Scanner; 
class A 
{ 
    public static void main(String args[]) 
    { 
     Scanner Sc = new Scanner(System.in); 
     System.out.print("Enter first number : "); 
     a = Sc.nextInt(); 
     System.out.print("Enter second number : "); 
     b = Sc.nextInt(); 
     System.out.print("Sum is : " + (a + b)); 
     System.out.print("Press enter to continue..."); 
     /* HERE IS MY DOUBT */ 
     /* WHAT TO WRITE HERE SO THAT WHEN "ENTER" IS PRESSED THEN CODE PROCEEDS */ 
    } 
} 

C言語のように。 Javaにも同様のものがありますか?

私はすでにSc.nextLine()を試しています。 Sc.nextLine()の問題は、最初に値を入力してからenterを押してからコードが進むということです。 しかし、私がしたいのは、単にenterを押して続行することです。

+0

JavaのCの "\ _getch()"と同等の機能を持つ可能性のある複製?](https://stackoverflow.com/questions/1864076/equivalent-function-to-cs- getch-in-java) –

+0

"......次のコード進行" - コードはどこへ進んでいますか?あなたはさらに何をしたいですか?デフォルトでは、最後の行を実行した後にプログラムが停止します。特定の条件が満たされたときに閉じる必要がある*無限ループ*がない場合は、手動で終了する必要はありません。 –

+0

'sc.nextLine()'についてはどうですか? –

答えて

1

私は空自のようないくつかの他のキーを[押した後、あなたがEnter keyを押した場合、その後elseブロックが実行されます似ていますが、Enter keyが押された場合、これは、単一のキーストロークイベント

public class EnterKeyEvent { 

    public static void main(String[] args) { 
     Scanner sc = new Scanner(System.in); 

     System.out.println("Press a key"); 
     String entry = sc.nextLine(); 
     if(!"".equals(entry)) { 
      System.out.println("Enter key not pressed"); 
     } 
     else { 
      System.out.println("Enter key pressed"); 
     } 
    } 
} 

のために働くだろうと思いますEnterキー] ifブロックが実行されます。

このコードを試したとき、私はという値が来ると予想していましたが、empty Stringの値を得ていました。そしてそれが私がコードでしたことです。

+0

はい!この作業!ありがとう!! – Jorvis

+0

論理を説明することもできます – Jorvis

-1
import java.util.Scanner; 
class A 
{ 
    public static void main(String args[]) 
    { 
     while(true) { 
      Scanner Sc = new Scanner(System.in); 
      System.out.print("Enter first number : "); 
      int a = Sc.nextInt(); 
      System.out.print("Enter second number : "); 
      int b = Sc.nextInt(); 
      System.out.println("Sum is : " + (a + b)); 
      System.out.println("Press enter to continue..."); 
     } 
    } 
} 
+0

申し訳ありませんが、私はこのコードで私の問題の解決策を見ることができません。 – Jorvis

0

以下、

public static void main(String args[]) { 
    //your code... 

    while (true) { 

     System.out.println("press enter to exit..."); 
     String keyPressed = sc.nextLine(); 
     sc.nextLine(); 

     if (keyPressed.isEmpty()) break; 
    } 
} 

・ホープ、この作業を行います!

+0

申し訳ありませんが、このコードは機能しません。 – Jorvis

0

ロボットまたはアクションクラス アクションまたはロボットクラスのオブジェクトを作成して、目的のキーを押します。 様作用は行動=新規アクション Act.PressyourKey 使用自動suggestions.Thisは、我々は真の場合は、ループ内でこのAct.pressyourKeyを使用することができ、任意のキーを押すと、それはあなたのコードを実行する方法である(博士webdriverを)

+0

あなたは何を言おうとしていますか? – Jorvis

+0

私は笑っていた –

+0

ああ..あなたは私がそこに心配した...ハハ – Jorvis

0

このクラスでコードを試してみますが、これはフォームコマンドラインでのみ機能します。 IDEのコンソールで使用することはできません。あなたは「\ nが」私は、eが入力押され押された場合NUMの値は10になりますIDE

import java.io.Console; 
import java.io.IOException; 
import java.io.Reader; 
public class GetChar { 

public static void main(String args[]) { 

    int num=0; 
    Console c =System.console(); 
    Reader r = c.reader(); 
try { 
    num= r.read(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

System.out.println(num); 

} 

} 

で使用している場合c.readerはnullを返します。私はあなたのコードがこのロジックを使用できることを願っています

関連する問題