2015-08-11 3 views
0

Я новичок в Java и программировании в целом, имейте это в виду и не будьте суровыми на меня, пожалуйста, ^^. Затем я немного тренировался с Java, и мне нравится вызов, но сейчас я просто застрял. Я сделал несколько примеров, чтобы найти самую большую строку, набранную пользователем, и все прошло хорошо, но теперь я просто хотел, чтобы противоположность находила наименьшую из них, и она просто не отображает ее как результат, она только показывает пустое значение в качестве результата , Вот код:Поиск наименьшей строки/слова

/* Gjen fjalen мне то Vogel тех shtypur нг пользователя я ДНО е paraqet си rezultat себе башка мне numrin общей тэ fjaleve те shtypura */

import java.util.*; 
public class fjalaMin { 
    private static Scanner sc; 
    public static void main(String[]args) { 
     sc = new Scanner(System.in); 
     String fjalet =""; 
     String fjalaMin =""; 
     String SENTINEL ="FUND"; 
     int count = 0; 

     System.out.println("Shtypni fjalet e deshiruara ose shtypni ' FUND ' per te terminuar programin: "); 
     do { 
      fjalet = sc.nextLine(); 
      if(fjalet.equalsIgnoreCase(SENTINEL)) { 
       break; 
      } else if(fjalet.length() < fjalaMin.length()) { 
       fjalaMin = fjalet; 
      } 

      count++; 
     } 
     while(!fjalet.equalsIgnoreCase(SENTINEL)); 

     if(count == 0) { 
      System.out.println("Nuk keni shtypur asnje fjale!"); 
     } else { 
      System.out.println("Rezultati juaj: "); 
      System.out.println("Numri total i fjaleve te shtypura: " + count); 
      System.out.println("Fjala me e shkurte qe eshte shtypur eshte: " + fjalaMin); 
     } 
    } 
} 
+2

Что вы вводите? ... Также добавьте дополнительные журналы в 'do'block – TheLostMind

+1

. Я понимаю, что логически ничего меньше, чем ничего (начальная ценность fjalaMin пуста ... однако как мне обойти это? Какую другую ценность я могу дать, чтобы она работала?) Спасибо заранее, и я могу перевести это на английский, если вы, ребята, смущены. – Solocid

+0

Я удалил свой комментарий и намеревался написать ответ, но был избит каем. Взгляните на его предложение, поскольку это, вероятно, то, что вам нужно. – Thomas

ответ

2

Проблема заключается в том, что вы инициализируйте String fjalaMin = ""; пустой строкой, поэтому строка не будет короче. Вы можете инициализировать его с помощью длинной строки или если вы хотите быть в безопасности, вы можете инициализировать его с null и изменить условие:

else if (fjalaMin == null || fjalet.length() < fjalaMin.length()) 
{ 
    fjalaMin = fjalet; // always the first input will be stored 
} 

Теперь он должен работать нормально.

+0

Удивительная благодарность за ответ всем вам, это может быть затруднительно, но я просто новый, я имею в виду, что я пытался дать значение null для fjalaMin, но потом он просто дал мне некоторую ошибку, потому что я думаю Я не включил результат как null в качестве опции в условие «else if». Так ты спас меня @kai Еще раз спасибо всем. Мир <3 – Solocid

+0

Добро пожаловать! – kai

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