Miten tästä koodista saa toimivan.
public class YhtaPitkat {
/**
* Testaa metodin yhtaPitkat() toimintaa.
*/
public static void main(String[] args) {
String[] testi = {"aa", "bb", "ccc", "ddd", "yyy", "eeee", "ffff" };
String[] testitulos = yhtaPitkat(testi, "xxxx");
for (int i = 0; i < testitulos.length; i ) {
System.out.println(testitulos[i]);
}
}
/**
* Palauttaa uuden taulukon, jossa on
* viittaukset kaikkiin vertailtavan kanssa
* yhtä pitkiin merkkijonot-taulukon alkioihin.
*
* Alkuehto: merkkijonot != null & vertailtava != null
*/
public static String[] yhtaPitkat (String[] merkkijonot, String vertailtava) {
String[] ratkaisu;
int laskuri = 0;
for (int i = 0; i < merkkijonot.length; i ) {
if (merkkijonot[i].length == vertailtava.length) {
merkkijonot[i] = ratkaisu[laskuri]; laskuri ;
}
}
return ratkaisu;
}
}
public class YhtaPitkat {
/**
* Testaa metodin yhtaPitkat() toimintaa.
*/
public static void main(String[] args) {
String[] testi = {"aa", "bb", "ccc", "ddd", "yyy", "eeee", "ffff" };
String[] testitulos = yhtaPitkat(testi, "xxxx");
for (int i = 0; i < testitulos.length; i ) {
System.out.println(testitulos[i]);
}
}
/**
* Palauttaa uuden taulukon, jossa on
* viittaukset kaikkiin vertailtavan kanssa
* yhtä pitkiin merkkijonot-taulukon alkioihin.
*
* Alkuehto: merkkijonot != null & vertailtava != null
*/
public static String[] yhtaPitkat (String[] merkkijonot, String vertailtava) {
String[] ratkaisu;
int laskuri = 0;
for (int i = 0; i < merkkijonot.length; i ) {
if (merkkijonot[i].length == vertailtava.length) {
merkkijonot[i] = ratkaisu[laskuri]; laskuri ;
}
}
return ratkaisu;
}
}
Vastaukset 9
Vanhimmat
Toimivan saa esimerkiksi seuraavasti:
--- ALKAA ---
import java.util.ArrayList;
public class YhtaPitkat {
/**
* Testaa metodin yhtaPitkat() toimintaa.
*/
public static void main(String[] args) {
String[] testi = {"aa", "bb", "ccc", "ddd", "yyy", "eeee", "ffff" };
String[] testitulos = yhtaPitkat(testi, "xxxx");
for (int i = 0; i < testitulos.length; i ) {
System.out.println(testitulos[i]);
}
}
/**
* Palauttaa uuden taulukon, jossa on
* viittaukset kaikkiin vertailtavan kanssa
* yhtä pitkiin merkkijonot-taulukon alkioihin.
*
* Alkuehto: merkkijonot != null & vertailtava != null
*/
public static String[] yhtaPitkat (String[] merkkijonot, String vertailtava) {
ArrayList ratkaisu = new ArrayList();
for (int i = 0; i < merkkijonot.length; i )
if (merkkijonot[i].length() == vertailtava.length())
ratkaisu.add(merkkijonot[i]);
return ratkaisu.toArray(new String[ratkaisu.size()]);
}
}
--- LOPPUU ---
public class Luvut {
/**
* Testaa metodin parillisetLuvut() toimintaa.
*/
public static void main(String[] args) {
int alku = Integer.parseInt(args[0]);
int loppu = Integer.parseInt(args[1]);
int[] parilliset = parillisetLuvut(alku, loppu);
//tulostaa parilliset-taulukon alkiot
for (int i = 0; i < parilliset.length; i ) {
System.out.println(parilliset[i]);
}
}
/**
* Palauttaa uuden taulukon, jossa on parilliset luvut
* suljetulta väliltä [alku, loppu].
*
* Alkuehto: 0
Ongelmasi lähettämässäsi koodissa olivat, lähinnä. 1) Taulukon koko asetettiin väärin, eli siinä ei otettu huomioon sitä, että välillä [2, 2] on yksi parillinen alkio, kun taas välillä [3, 3] ei ole yhtään. 2) Siinä ei otettu viimeistä alkiota mukaan, esim. jos esim. loppu on 4, niin silmukan tarkastus ehto (i < loppu) ei ottanut silloin nelosta mukaan. Alla esimerkki toimivasta ratkaisusta:
--- ALKAA ---
public class Luvut {
/**
* Testaa metodin parillisetLuvut() toimintaa.
*/
public static void main(String[] args) {
int alku = Integer.parseInt(args[0]);
int loppu = Integer.parseInt(args[1]);
int[] parilliset = parillisetLuvut(alku, loppu);
//tulostaa parilliset-taulukon alkiot
for (int i = 0; i < parilliset.length; i )
System.out.println(parilliset[i]);
}
/**
* Palauttaa uuden taulukon, jossa on parilliset luvut
* suljetulta väliltä [alku, loppu].
*
* Alkuehto: 0
Et vielä jaksaisi ratkaista tällaista ongelmaa. Eli pitää tehdä metodi joka palauttaa uuden kokonaislukutaulukon joka sisältää kaikki parilliset luvut ei-negatiivisten argumenttien esittämältä parilliselta lukualueelta.Tässä alku:
public class Statistiikka {
public static void main(String[] args) {
int[] luvut = {60, 10, 8, 4};
int[] tilasto = statistiikka(luvut);
for (int i = 0; i < tilasto.length; i = i 1) {
System.out.println(tilasto[i]);
}
}
public static int[] statistiikka(int[] luvut) {
}
}
tehdä metodi joka saa argumenttina kokonaislukutaulukon ja palauttaa kolmepaikkaisen taulukon, jossa on ensimmäisenä argumenttina saadun taulukon pienin luku, toisena suurin ja kolmantena lukujen keskiarvo.
nyt lopetat ton uusavuttomien laiskureiden tehtävien valmiiksi tekemisen!
omista asioistasi etkä urputtaisi muille.
--- ALKAA ---
import java.util.Arrays;
public class Statistiikka {
public static void main(String[] args) {
int[] luvut = {60, 10, 8, 4};
int[] tilasto = statistiikka(luvut);
for (Integer arvo : tilasto)
System.out.println(arvo);
}
public static int[] statistiikka(int[] luvut) {
int tmp[] = luvut.clone();
int summa = 0;
Arrays.sort(tmp);
for (Integer luku : luvut)
summa = luku;
return new int[] { tmp[0], tmp[tmp.length - 1], summa/luvut.length };
}
}
--- LOPPUU ---
Minun on mahdotonta tietää kysymyksistä, mikä on koulutehtävä ja mikä ei, tai kuinka paljon kysyjä on yrittänyt itse ratkaista mahdollista tehtävää, ja onko ohjelmointi vain sivu kurssi vai ei, minkä ikäisestä henkilöstä on kyse, jne. Tai no, veikkaisin kuitenkin, että suurin osa täällä olevista kysymyksistä liittyvät enemmän tai vähemmän koulu ja opiskelutehtäviin liittyviin ongelmiin, ja suurin osa kysyjistä on jo täysi-ikäisiä. Yritän vasta aina jos vaan osaan ja kysymys tuntuu mielenkiintoiselta.