Tämä luokittelee merkkijonot pituuden mukaan lyhyimmästä pisimpään.
import java.util.Scanner; public class Luokittelu { public static void main(String[] args){ Scanner syote = new Scanner(System.in); int maara = 0; int pisinMjono = 0; boolean onko = false; //Syötetään lähtötiedot. System.out.println("Syötä merkkijonojen määrä."); maara = syote.nextInt(); String[] mjonot = new String[maara]; for (int x = 0; x < maara; x++){ mjonot[x] = syote.next(); } //Etsitään pisin merkkijono ja luokitellaan merkkijonot sen mukaan. pisinMjono = mjonot[0].length(); for (int x = 1; x < maara; x++){ if (mjonot[x].length() > pisinMjono){ //Pidempi mjono on löydetty. pisinMjono = mjonot[x].length(); } } //Luokitellaan merkkijonot pituuden mukaan. //Jos yhtään merkkijonoa ei löydy pituutta ei tulosteta. for (int x = 1; x <= pisinMjono; x++){ onko = false; //Ei ole vielä löydetty. for (int y = 0; y < maara; y++){ if (x == mjonot[y].length()){ //Oikean pituinen merkkijono löydetty. if (onko == false){ System.out.println(x + ":"); onko = true; } System.out.println(mjonot[y]); } } } } }
Ajattelitko vielä paljonkin näitä spämmäillä? Minkä kurssin harjoitustehtävistä kyse?
Toivottavasti lähettämisen lisäksi ainakin luet ajatuksella kaikki kommentit ja koetat oppia niistä. Jos ei ole saatteena mitään varsinaista avausta keskustelulle, näiden kurssitehtävien kiinnostusarvo keskustelun kannalta ei ole kovin suuri. Toisaalta on toki positiivista, että tehtävät on ratkaistu, toisin kuin monilla muilla...
Sinänsä hassua, että aikaisemmissa tehtävissä olet osannut käyttää esim. vaihtolajittelua listan järjestämiseen mutta tässä olet päätynyt oudompaan viritelmään. Voisit tässäkin ensin järjestää listan merkkijonon pituuden mukaan (stabiililla lajittelualgoritmilla, jos tehtävä niin vaatii), jolloin olisi helppo vain tulostaa merkkijonot järjestyksessä ja lisätä sopiviin väleihin pituustiedot.
Pelkkä bottihan tämä on, kummallista ettette ole tajunneet. Botti pelkästään availee ketjuja nollapostauksilla eikä reagoi niihin tuleviin kommentteihin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.