Javakod som jag behöver lite hjälp med

Permalänk
Medlem

Javakod som jag behöver lite hjälp med

Problem med javakod.
Jag ska göra ett program som läser in 20 tal från tangentbordet och skriver ut medelvärdet av talen, det största av talen, det minsta av talen. Efter detta ska en lista med alla tal som lästs in skrivas ut. Fältet ska bestå av 5 tal per rad. Det fungerar att köra men felet är markerat i koden...förstår ej vad som blir fel. Kan någon vänlig själ förklara för mig.

import java.io.*; import java.util.*; public class Lab6 { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Lab6 tp = new Lab6(); try { tp.doit(); } catch(Exception e) { e.printStackTrace(); // printStackTrace() är understruket och har en markering bredvid } // sig och jag förstår inte hur jag ska göra? } private void doit() throws IOException { Scanner sc = new Scanner(System.in); System.out.print("Mata in 20st tal, så kommer medelvärdet räknas ut. " + "Även det största samt det minsta talet kommer skrivas ut."); System.out.flush () ; // final int antalet = sc.nextInt () ; double sum = 0; double[] f = new double[20]; for (int index = 0; index < f.length; index++) { System.out.print ("Tal " + (index + 1) + "? "); System.out.flush () ; f[index] = sc.nextDouble () ; sum += f[index]; } double medelv = sum / 20; System.out.format("Medelvärdet är %3.1f\n", medelv); System.out.println("\nMin och Max värde;"); double min = Double.MAX_VALUE; double max = Double.MIN_VALUE; for (int index = 0; index < f.length; index++) { if (f[index] < min) { min = f[index]; } else if (f[index] > max) { max = f[index]; } } System.out.println("MIN: " + min); System.out.println("MAX: " + max); System.out.println ("Alla tal:"); for (int index = 0; index < f.length; index++) { System.out.print(f[index] + " "); if ((index + 1) % 5 == 0) { System.out.println(); } } } }

Permalänk
Medlem

Programmet fungerade perfekt för mig när jag körde det i Eclipse. Vad är problemet?

Visa signatur

Custom Built Chassis|CM Silent 1000W Mod|Asus P6X58D-E|i7 930@4.2ghz ht on| 6Gb Corsair Dominator @1604MHz| Evga & Zotac Gtx 470 SLI @ 800,1600,1674 & Asus 8600gt physX dedicated| WD Green 1Tb+1Tb WD Black sata 3 +1Tb extern|Intel SSD 80Gb X25-M G2|Logitech MX518 & G15| H2O|Shure SRH840
http://valid.canardpc.com/show_oc.php?id=2223280

Permalänk

Hej,

Vilken färg har understrykningen och om du håller muspekaren över markeringen eller det understrukna vad står det då?

Mvh
Tobias

Edit!
Lite extra jag såg nu, din metod main står att den kastar (throw) IOException, men det kan den inte för du fångar alla exceptions i catch(Exception e), kanske överkurs men du kan impa på din labbass

Permalänk
Medlem
Skrivet av trancenote:

Hej,

Vilken färg har understrykningen och om du håller muspekaren över markeringen eller det understrukna vad står det då?

Mvh
Tobias

Edit!
Lite extra jag såg nu, din metod main står att den kastar (throw) IOException, men det kan den inte för du fångar alla exceptions i catch(Exception e), kanske överkurs men du kan impa på din labbass

Det är understruket med gult och när jag håller muspekaren över så står det Print Stack Trace __
Jag använder NetBeans. Förstår inte varför det är markerat, suck!

Tack för er tid och hjälp

Permalänk
Medlem

Jag kör i NetBeans....

Permalänk
Medlem

En gulmarkering är inget fel utan en varning om att något kanske inte är som man avsett.. Ändra Exception till IOException i din catch-sats och se om det blir bättre.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

En gulmarkering är inget fel utan en varning om att något kanske inte är som man avsett.. Ändra Exception till IOException i din catch-sats och se om det blir bättre.

Tack för hjälp men det är fortfarande markerat :/

Permalänk

Låter ju inte som att netbeans heller vet varför det är markerat eftersom det bara stöd som det gjorde när du höll pekaren över.

Som sagt ovan så är det inget fel eller farligt, inte ens säkert att det skulle stå något i ett annat program, så mitt tips är att släppa det eller fråga på stackoverflow.com där borde du få svar på ett par minuter om det faktiskt är något att bry sig om. Kryllar av besserwissar där