Kezdőoldal » Számítástechnika » Programozás » Miért nem működik a System....

Miért nem működik a System. Out. Println ebben a kódban?

Figyelt kérdés

public static void main(String[] args) {


Scanner scan = new Scanner(System.in);

String egyben = scan.nextLine();

int triple = 0;

char[] lista = egyben.toCharArray();


for(int i=0;i<lista.length;i++){

if (lista[i] == lista[i+1] && lista[i] == lista[i+2] && lista[i+1] == lista[i+2]) {

triple ++;

}

}

System.out.println(triple);


}


A metódus működik, de a loop után semmit sem hajlandó kiírni.



2017. júl. 30. 21:35
 1/9 anonim ***** válasza:
Az i+1 meg az i+2 túlnyúlik a tömbön és Array Index Out of Bounds Exception-al elszáll?
2017. júl. 30. 21:51
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Köszönöm, igazad van. Tudsz erre valami jó megoldást?
2017. júl. 30. 21:52
 3/9 A kérdező kommentje:
Megoldottam egy -2-vel a length után.
2017. júl. 30. 21:58
 4/9 anonim ***** válasza:

Ha már használsz egy java.lang.AutoClosable interfészt megvalósító osztályt, hívd meg a close() metódusát vagy tedd try-with-resources szerkezetbe, ami magától meghívja a close() metódust:


try (Scanner scan = new Scanner(System.in)) {

//...

}

2017. júl. 30. 22:34
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

Amúgy minden a if() - be a legutolsó kondíció? Az már alapból biztos, ha az első kettő igaz.


Tegyük fel hogy i[1] = 5, i[2] = 5, [i3] = 5


Tehát az első azt nézi hogy i[1] = i[2] tehát 5=5.

A második i[1] = i[3] tehát 5=5


De mivel itt már tudjuk hogy i[1] = i[2] és hogy i[1] = i[3], a közös tényezőn keresztül (i[1]) össze lehet a két állítást kapcsolni. Tehát i[3] = i[1], ahol i[1] = i[2] tehát i[3] = i[1] = [i2].


A harmadik kondíció teljesen felesleges


&& lista[i+1] == lista[i+2]


Ezt teljesen törölheted

2017. júl. 30. 23:26
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
*minek
2017. júl. 30. 23:27
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
Jó ötlet, köszönöm :)
2017. júl. 31. 18:34
 8/9 anonim ***** válasza:
A magyar változónevekről szokj le, ha komolyabban akarsz programozással foglalkozni. A munkahelyeden nem fognak szeretni érte.
2017. aug. 4. 18:57
Hasznos számodra ez a válasz?
 9/9 A kérdező kommentje:
Köszönöm a válaszokat. :) Vicces utólag visszanézni a kérdéseket, azóta fejlesztőként dolgozom.
2020. aug. 7. 11:05

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!