2017-12-10 4 views
0

Ich suche eine Hilfe zu meinem Code in Java, da ich nur den Großbuchstaben von ASCII drucken wollte. Also habe ich ein Array erstellt und eine For-Schleife ausgeführt. Ich machte eine if-Bedingung, um auf die Zeichen von 65 bis 90 zuzugreifen, dann benutzte ich dieses Format, um das Wertesystem zu drucken.java printf kann char Array nicht drucken

Leider habe ich Müll als Ausgabe. hier ist der vollständige Code:

  for(int x=0; x<ch.length; x++) { 
      if(ch[x]>=65||ch[x]<=90) { 
       System.out.printf("%c ",ch[x]); 
      } 
      } 
+0

Können Sie Ihre vollständigen Code –

+1

Tag die Frage mit 'java' posten, Suchstring + Java + Toupper, poste deinen Code, um uns bei der Behebung deines Problems zu helfen. –

+0

Bitte lesen Sie [mcve] und erweitern Sie Ihre Frage entsprechend. – GhostCat

Antwort

1

Wie @YCF_L sagte, verwenden && und kann, empfehle ich die forEach:

char[] ch = new char[]{'A', 'z', 'S', 'Z', 'H', '1', 'o'}; 
for (char c : ch) { 

    if (c >= 65 && c <= 90) { 
     System.out.printf("%c ", c); 
    } 
} 

Ausgänge

A S Z H 

ideone demo

0

Verwenden Sie einfach isUpperCase() -Methode:

for(int x=0; x<ch.length; x++) { 
     if(isUpperCase(ch[x])) { 
      System.out.printf("%c ",ch[x]); 
     } 
     } 

Wenn Sie nicht wollen, um die Methode verwenden:

for(int x=0; x<ch.length; x++) { 
     if(ch[x]>=65 && ch[x]<=90) { 
      System.out.printf("%c ",ch[x]); 
     } 
     }