2017-02-19 18 views
0

напишите программу, которая читает одну строку текста у пользователя. Эта программа должна печатать «Слишком короткий», если результирующая строка содержит менее 10 символов; в противном случае, он должен напечатать число символов в строкечитает одну строку текста от пользователя java

Вот что ив получил до сих пор,

package exercise; 

import java.util.Scanner; 

public class ex6 { 

    public static void main(String[] args){ 


     ///creates a scanner object 
     Scanner input = new Scanner(System.in); 

     //prompt the user to enter a line of text 
     System.out.print("Enter a line of text: "); 
     String text = input.nextLine(); 

     //counts characters prints too short if text is less than 10 

     int counter = 0; 
     for(int i=0; i < text.length(); i++) { 
      if(text.charAt(i) == '$') { 
       counter++; 
      } 
       else if (text.length() < 10){ 
        System.out.println("To short"); 
      } 


      System.out.print("String Length :"); 
      System.out.println(text.length()); 

     } 
    } 
} 

проблема с этим кодом является то, что если я типа в человеке, например, было бы распечатать слишком коротка три раза. приведенный ниже пример;

Введите строку текста: человек Для коротких Строка Длина: 3 Для коротких Строка Длина: 3 Для коротких Строка Длина: 3

ответ

2

Это потому, что вы цикл по длине строка. Таким образом, при вводе строки, содержащей 4 символа, вы циклически выполняете свое условие 4 раза, также печатаете 4 раза.

public static void main(String[] args){ 


     ///creates a scanner object 
     Scanner input = new Scanner(System.in); 

     //prompt the user to enter a line of text 
     System.out.print("Enter a line of text: "); 
     String text = input.nextLine(); 

     //counts characters prints too short if text is less than 10 

     if (text.length() < 10) { 
      System.out.println("Too short"); 
     } else { 
      System.out.print("String Length :"); 
      System.out.println(text.length()); 
     } 
    } 

Вам следует избегать использования петли в этом случае. Вы только хотите проверить его один раз.