Olen päässyt pitkälle tässä ohjelmassa, mutta olen juuttunut tähän paikkaan kaksi päivää. Mulla toimii kaikki paitsi en saa tulostettuu syötetyt luvut.
import java.io.*;
public class Tunnit {
public static void main(String[] args) {
double taulukko[] = new double [31];
double summa, keskiarvo;
int i;
int paivat;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("Ohjelma laskee yhteen haluamasi ajanjakson aikana tehdyt");
System.out.println("työtunnit sekä keskimääräisen työpäivän pituuden.");
System.out.print("Kuinka monta päivää: ");
paivat = Integer.parseInt(in.readLine());
i = paivat;
for(paivat=1; paivat
Pikaista! Osaisko joku auttaa?
4
1217
Vastaukset 4
- java
Haluatko siis tulostaa lopuksi kaikki syötetyt tunnit taulukosta "taulukko"? Siirrä tuo tulostus tuonne for-luupin sisään ja aloita for-luupissa käymään nollasta asti läpi.
Kannattaa muuten tehdä for luuppiin aina oma lokaali muuttujansa läpikäymistä varten. Tuo luokkamuuttuja i on minusta vähän outo :D.
Muista muuten, että taulukon indeksointi alkaa nollasta.
Itse tekisin tähän tapaan koko ohjelman:
import java.io.*;
public class Tunnit {
public static void main(String[] args) {
double[] taulukko;
double summa, keskiarvo;
int paivia;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
System.out
.println("Ohjelma laskee yhteen haluamasi ajanjakson aikana tehdyt");
System.out
.println("työtunnit sekä keskimääräisen työpäivän pituuden.");
System.out.print("Kuinka monta päivää: ");
paivia = Integer.parseInt(in.readLine());
taulukko = new double[paivia]; //Nyt taulukon pituus, eli taulukko.length on paivia
for (int i = 0; i < taulukko.length; i ) {
System.out.print("Anna " i ". päivän työtunnit: ");
taulukko[i] = Double.parseDouble(in.readLine());
}
// Lasketaan työtuntien summa ja keskiarvo.
summa = 0;
for (int i = 0; i < taulukko.length; i )
summa = summa taulukko[i];
keskiarvo = summa / taulukko.length;
// Tulostetaan summa, keskiarvo ja annetut työtunnit.
System.out.println("Tehdyt työtunnit yhteensä: " summa);
System.out.println("Keskimääräinen työpäivän pituus: " keskiarvo);
System.out.println("Syötetyt tunnit: ");
for (int i = 0; i- java
Oho tuo katkesi. Siis tuo lopun tulostus osuus oli
// Tulostetaan summa, keskiarvo ja annetut työtunnit.
System.out.println("Tehdyt työtunnit yhteensä: " summa);
System.out.println("Keskimääräinen työpäivän pituus: " keskiarvo);
System.out.println("Syötetyt tunnit: ");
for (int i = 0; i - java
java kirjoitti:
Oho tuo katkesi. Siis tuo lopun tulostus osuus oli
// Tulostetaan summa, keskiarvo ja annetut työtunnit.
System.out.println("Tehdyt työtunnit yhteensä: " summa);
System.out.println("Keskimääräinen työpäivän pituus: " keskiarvo);
System.out.println("Syötetyt tunnit: ");
for (int i = 0; iNäköjään tuota ei voi laittaa, koitetaan:
Oho tuo katkesi. Siis tuo lopun tulostus osuus oli
// Tulostetaan summa, keskiarvo ja annetut työtunnit.
System.out.println("Tehdyt työtunnit yhteensä: " summa);
System.out.println("Keskimääräinen työpäivän pituus: " keskiarvo);
System.out.println("Syötetyt tunnit: ");
for (int i = 0; i < taulukko.length; i ) {
System.out.println(taulukko[i]);
}
} catch (Exception e) {
System.out.print("VIRHE!!!");
}
}
}
Tässä siis taulukon pituus päätetään vasta kun on kysytty monta päivää syötetään. Tuo kaikkien mahdollisten virheiden kaappaus on ehkä vähän huono idea, sillä silloin et saa välttämättä niin helpolla selville mistä virhe johtuu, jos joku virhe sattuu tulemaan. - Javaw
java kirjoitti:
Näköjään tuota ei voi laittaa, koitetaan:
Oho tuo katkesi. Siis tuo lopun tulostus osuus oli
// Tulostetaan summa, keskiarvo ja annetut työtunnit.
System.out.println("Tehdyt työtunnit yhteensä: " summa);
System.out.println("Keskimääräinen työpäivän pituus: " keskiarvo);
System.out.println("Syötetyt tunnit: ");
for (int i = 0; i < taulukko.length; i ) {
System.out.println(taulukko[i]);
}
} catch (Exception e) {
System.out.print("VIRHE!!!");
}
}
}
Tässä siis taulukon pituus päätetään vasta kun on kysytty monta päivää syötetään. Tuo kaikkien mahdollisten virheiden kaappaus on ehkä vähän huono idea, sillä silloin et saa välttämättä niin helpolla selville mistä virhe johtuu, jos joku virhe sattuu tulemaan.Lopun voi tehä myös enhanced for-luupilla:
for(int i : taulukko) {
System.out.println(i):
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 821008
- 73852
Jasmin Vähäkangas paljastelee
Eilinen päivä on heillä kulunut biitsillä niin silloin tuo äiti ihminen on intoutunut paljastelemaan kunnolla. Laittanut101576- 43575
- 46547
- 29523
Kangaskylän alkoholi-hurjastelijat
Oppi olkoon että autollessa etanoli kuuluu pääasiassa 95 E10 polttoaineseen, siihenkin vain enimmillään 10% vahvuisena t4516Miehet lähtevät itse pois deittailumarkkinoilta
Ovat saaneet tarpeekseen naisista. Tyypillisin poistuja on: Koulutettu, työssäkäyvä, etsii pitkäaikaista parisuhdetta.164513Oikea nainen
On äärimmäisen naisellinen, pienikokoinen, kapeaharteinen, pienet kapeat kasvot, paksut huulet, kauniit hiukset, upeat t136508Olen pahoillani mies ihan kaikesta
Et sinä ole edes tehnyt mitään väärää. Eihän kenestäkään ole pakko tykätä. Pyydän anteeksi kaikkea häiriköintiä, joka on61505