Daha önce bir soru sordum ve o zamandan beri kodumu biraz düzenledim ama şimdi okum bittiğinde kodum durmayacak, bitmiyor."Bitti" girdiğimde programım bitmeyecek
public class Done {
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
ArrayList<String> sal = new ArrayList<String>();
int count = 0;
while (true){
sal.add(kb.next());
if (sal.equals("done"))
break;
count++;
}
display(sal);
displayb(sal);
}
public static void display(ArrayList<String> sal){
for (int i=0; i<sal.size(); i++)
System.out.print(sal.get(i)+ " ");
System.out.println();
}
public static void displayb(ArrayList<String> sal){
for (int z = sal.size(); z >= 1; z--)
System.out.print(sal.get(z-1) + " ");
System.out.println();
}
}
"done" ifadesini girdiğimde kodum durmaz. Neyi yanlış yaptığımı bilen var mı?
Döngüyü sonlandırmak için hiçbir zaman ara vermemelisiniz ... bunun yerine istediğiniz ifadeyi ters çevirin ve while döngüsüne koyun. – Dom
@ Üzgünüz, bunu nereden duydunuz bilmiyorum ama baloney. İstediğiniz ifadenin '!' Öğesini her zaman 'while' koşuluna getiremezsiniz. Burada yapamazsın çünkü önce girişi yapmalısın. Ve bunu yapmanın tek yolu, 'break' den daha fazla kaçınılması gereken bir şey olan çoğaltılmış kod olan iki kez 'kb.next()' giriş çağrısını yazmaktır. Kodu kırmaktan kaçınmak için yeniden yazmanın başka yolları vardır, ancak daha az okunabilir hale getireceklerdir. – ajb