2016-03-26 1 views
0

Вот мой код, я использовал is.upperCase, чтобы проверить, но он не работает. И у меня проблемы с объединением всех верхних частей. Любое предложение и помощь будут оценены!Используя цикл while/for, как вычесть ТОЛЬКО верхний регистр ввода строки пользователями?

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:"); 
    } 
} 

ответ

1

Я думаю, ниже будет решена ваша проблема.

 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

Во-первых, ваша идея правильная, но путь ты осуществления имеет некоторые ошибки 1. isUperCase из I -> Неправильно 2. outputLetter следует объявить вне цикла для advoid повторно инициализации данных 3 . outputLetter должно быть что-то вроде outputLetter + = anUpperCase 4. наконец, смотрите этот пыльник код

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

большое спасибо за помощь !! Я попробую запустить оба кода. Еще раз спасибо. – hakuro

Смежные вопросы