2017-01-25 11 views
0

Problem ist, werde ich alle Zeichen auf der Tastatur drucken, aber jedes Mal, wenn es 10 zählt, wird das Programm anhalten und dann drücken Schlüssel um fortzufahren .. Die Sequenz wird fortgesetzt .. soweit ist das, was ich getan habe.Java: Programm wird in einem bestimmten Zustand stoppen und dann eine beliebige Taste drücken, um fortzufahren ... es wird weiter

public class AsciiDisplay 
{ 
    public static void main (String [] args) 
    { 

     for (int i = 0; i<=255; i++) 
      System.out.printf("%d\t%c\n",i,i); 
    } 
} 
+0

'Ich werde alle Zeichen in der keyboard' drucke ich bin gespannt, wie Sie können dies tun, – rkosegi

+0

Ja, bitte mehr von Code oder Details hinzufügen – MateuszW90

+0

Wenn eine Taste gedrückt wird: weiter verstehe ich, aber wie Möchten Sie "nicht fortsetzen" definieren? Wartet nur auf eine gedrückte Taste? oder wie "wenn in den 10sec Sie eine Taste nicht gedrückt haben, stoppt es? – azro

Antwort

0
public static void main(String a[]){ 
     int count = 0; 
     for (int i = 0; i<=255; i++){ 
      if(count == 10){ 
       System.out.println("Press \"ENTER\" to continue..."); 
       Scanner scanner = new Scanner(System.in); 
       scanner.nextLine(); 
       count = 0; 
      }else{ 
       System.out.printf("%d\t%c\n",i,i); 
       count++; 
      } 


     } 
    } 
+0

Die Schleife würde niemals aufhören, Sie würden wahrscheinlich ein if (count% 10 == 0) Schleife statt nein? –

+0

es wird nach 255 Iteration stoppen. counter-Variablen sind unterschiedlich –

+0

Wahr, aber Sie brauchen nicht einmal ein if sonst, Sie können einfach ein if (i +1% 10 = = 0) für die Scanner-Eingabe verwenden und das zu seinem aktuellen Code vor der print-Anweisung hinzufügen –

0

Logik: - einen Zähler beibehalten, erhöhe es jedes Mal, wenn Sie ein Zeichen zu drucken, nach jeweils 10 Schritten, wird es für den Benutzer stoppt die Eingabe zur Verfügung zu stellen, wie Scanner Methoden blockieren.

count% 10 == 0 bedeutet, ist die Anzahl vollständig teilbar durch 10.

public static void main(String[] args){ 
     { 
      int count=0; 
      Scanner scanner = new Scanner(System.in); 
      try{ 
      for (int i = 0; i<=255; i++){ 
       System.out.printf("%d\t%c\n",i,i); 
       count++; 
       if((count%10)==0){ 
         System.out.println("Click to continue..."); 

         scanner.nextLine(); 
       } 
       } 
       } 
     finally{ 
      scanner.close(); 
     } 
    } 
} 

Obwohl obige Code wird von der Tastatur keine Zeichen Drucken durch Eingabe nehmen.

+0

Sorry für meine schlechte Grammatik, hahahaha. @ rkosegi – m1ks

+0

ll stoppen Sie es einfach die Zählung ist 10 dann drücken Sie anykey, um fortzufahren wird dies geschehen, bis alle Zeichen gedruckt werden. @ MatMateuszW90 – m1ks

+0

Es gab einen kleinen Tippfehler, jetzt überprüfen. –

0

Vielleicht, ist eine gute Lösung, weil ich verstanden habe, möchten Sie drücken Sie eine beliebige Taste, nachdem 10 Zahlen gedruckt wurde beginnt von 0. Richtig?

import java.util.Scanner; 

public class Test { 

    private static final Scanner SCANNER = new Scanner(System.in); 

    public static void main(String a[]) { 
    int count = 0; 
    for (int i = 0; i <= 255; i++) { 
     count++; 
     if (count % 10 == 0) { 
      System.out.printf("%d\t%c\n", i, i); 
      System.out.println("Press \"ENTER\" to continue..."); 
      SCANNER.nextLine(); 
      count = 0; 
     } else { 
      System.out.printf("%d\t%c\n", i, i); 

     } 
    } 
    } 
} 
+0

Sie haben es @ MateuszW90 genagelt. – m1ks

Verwandte Themen