2016-03-26 7 views
0

Hier ist mein Code, ich habe is.upperCase zu überprüfen, aber es scheint nicht zu funktionieren. Und ich habe Schwierigkeiten, alle Großbuchstaben miteinander zu verketten. Jeder Vorschlag und jede Hilfe wäre willkommen!Durch die Verwendung von while/for-Schleife, wie nur NUR die Großbuchstaben einer Zeile von Benutzern eingegeben werden?

import java.util.Scanner; 

public class UpperCase { 
    public static void main(String[] args) { 
     Scanner in = new Scanner(System.in); 
     System.out.print("Please input a random line that contain uppercase letters in any positions: "); 
     String str = in.next(); 

     int i = 0; 

     while (i < str.length() - 1) { 
      if(Character.isUpperCase(i)) { 
       char upperLetter = str.charAt(i); 
      }  

      Object outputLetter = str.charAt(0) + str.charAt(i++); 
      char upperLetter = str.charAt(i++); 
     } 

     System.out.println("The uppercase letters are:"); 
    } 
} 

Antwort

1

Ich denke unten würde Ihr Problem lösen.

 Scanner in = new Scanner(System.in); 
     System.out.print("Please input a random line that contain uppercase letters in any positions: "); 
     String str = in.nextLine(); 
     char[] cr = str.toCharArray(); 
     StringBuffer stringBuffer = new StringBuffer(); 
     for(int i=0;i<cr.length;i++){ 
      if(Character.isUpperCase(cr[i])){ 
       stringBuffer.append(cr[i]); 
      } 
     } 
     System.out.println("The uppercase letters are:" + stringBuffer); 
0

Zuerst Ihre Idee ist richtig, aber die Art, wie Sie bei der Implementierung hat hat einige Fehler 1. isUperCase von i -> Falsche 2. outputLetter außerhalb der Schleife deklarieren sollten re-init Daten 3 bis advoid . outputLetter sollte so etwas wie outputLetter + = anUpperCase 4. schließlich finden dieses Gebrüll Code

public static void main(String[] args) { 

     Scanner in = new Scanner(System.in); 
     System.out.print("Please input a random line that contain uppercase letters in any positions: "); 
     String str = in.next(); 
     in.close(); 
     int i = 0; 
     String result = ""; 
     while (i < str.length() - 1) { 

      char aChar = str.charAt(i); 

      if (Character.isUpperCase(aChar)) { 
       result += aChar; 
      } 
      i++; 
     } 
     System.out.println("The uppercase letters are: " + result); 
    } 
+0

vielen Dank für die Hilfe sein !! Ich werde versuchen, beide Codes auszuführen. Danke noch einmal. – hakuro