/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
do - while problem
Fra : Tommy


Dato : 11-03-04 17:37

Hvad gør jeg galt i nedenstående? Jeg får en fejl på de 3 sidste tuborg

Tommy

public class SalesCompany2 {


public static void main(String[] args) {
int tekst = 0;

{
do
{
tekst = Integer.parseInt(JOptionPane.showInputDialog(null,
"Indtast kundenr."));


if (tekst > 499)

JOptionPane.showMessageDialog(null, "Ulovligt tal");
else

{
int pris = 0;

pris = Integer.parseInt(JOptionPane.showInputDialog(null,
"Indtast salg"));

System.out.println("Kundenr:" + tekst + "\t Salg:" + pris);

}
while (tekst != 0);
}

}

}



 
 
Søren Hjelholt (11-03-2004)
Kommentar
Fra : Søren Hjelholt


Dato : 11-03-04 17:51

"Tommy" <info@manniken.dk> wrote in news:4050959a$0$781
$edfadb0f@dread11.news.tele.dk in dk.edb.programmering.java:

> Hvad gør jeg galt i nedenstående? Jeg får en fejl på de 3 sidste tuborg
>
> Tommy
>
> public class SalesCompany2 {
>
>
> public static void main(String[] args) {
> int tekst = 0;
>
> { <--- Den skal ikke være der...
> do
> {
> tekst = Integer.parseInt(JOptionPane.showInputDialog(null,
> "Indtast kundenr."));
>
>
> if (tekst > 499)
>
> JOptionPane.showMessageDialog(null, "Ulovligt tal");
> else
>
> {
> int pris = 0;
>
> pris = Integer.parseInt(JOptionPane.showInputDialog(null,
> "Indtast salg"));
>
> System.out.println("Kundenr:" + tekst + "\t Salg:" + pris);
>
> }
> while (tekst != 0);
> }
>
> }
>
> }

Så vidt jeg kan se har der sneget sig en (væltet) "Tuborg" for meget ind
inden do-while løkken begynder, og derfor tror compileren at det mangler en
til slut. Jeg har sat en lille markering i koden. :]

/Søren Hjelholt

Finn Nielsen (12-03-2004)
Kommentar
Fra : Finn Nielsen


Dato : 12-03-04 07:20

"Tommy" <info@manniken.dk> writes:

> Hvad gør jeg galt i nedenstående? Jeg får en fejl på de 3 sidste tuborg

Som Søren skriver så har du en { for meget, desuden har du anbragt din
while efter afslutningen på din else-blok, istedet hvor den burde være
efter afslutningen på do-blokken.

--
Finn Nielsen - http://www.finnnielsen.dk/

For email: Fjern den første og sidste del af domænet fra min adresse.

Tommy (23-03-2004)
Kommentar
Fra : Tommy


Dato : 23-03-04 18:13

Tak

Jeg skal beklage at jeg ikke har vendt tilbage før nu men jeg blev pludselig
indlagt på hospitalet 8(

Nå men jeg skulle nu være klar igen, jeg har fået ændret min kode men er
kørt i stå igen. Hvordan tæller jeg det totale salg op og hvordan tæller jeg
salg op på de forskellige kategorier? mine kategorier er delt i 4 med
tallene 1, 2, 3, 4. Min kode ser ud som følger:

public class SalesCompany2


{
public static void main(String[] args) {
int[] kat = { 0, 0, 0, 0, 0 };
int tekst = 0;
int pris = 0;
for (;;) {
tekst = Integer.parseInt(JOptionPane.showInputDialog(null, "Indtast
kundenr."));
if (tekst > 499) {
JOptionPane.showMessageDialog(null, "Ulovligt tal");
} else {
if (tekst == 0) break;
pris = Integer.parseInt(JOptionPane.showInputDialog(null,
"Indtast salg"));
kat[tekst/100] += pris;
}
System.out.println("Kundenr:" + tekst + "\t Salg:" + pris);
}
for(int i = 0; i < kat.length; i++) {
System.out.println("Kategori:" + i + "\t Salg:" + kat[i]);
}
}
}


Med venlig hilsen

Tommy



"Finn Nielsen" <spamtrap2@zero.zznyyd.dk.invalid> skrev i en meddelelse
news:m3y8q6h9ja.fsf@triton.zznyyd.dk...
> "Tommy" <info@manniken.dk> writes:
>
> > Hvad gør jeg galt i nedenstående? Jeg får en fejl på de 3 sidste tuborg
>
> Som Søren skriver så har du en { for meget, desuden har du anbragt din
> while efter afslutningen på din else-blok, istedet hvor den burde være
> efter afslutningen på do-blokken.
>
> --
> Finn Nielsen - http://www.finnnielsen.dk/
>
> For email: Fjern den første og sidste del af domænet fra min adresse.



Tommy (23-03-2004)
Kommentar
Fra : Tommy


Dato : 23-03-04 18:31

Rettelse......

Jeg tæller jo mine kategorier op så jeg skal bare kunne lave en total af
hele salget


Tommy

"Tommy" <info@manniken.dk> skrev i en meddelelse
news:40607025$0$454$edfadb0f@dread14.news.tele.dk...
> Tak
>
> Jeg skal beklage at jeg ikke har vendt tilbage før nu men jeg blev
pludselig
> indlagt på hospitalet 8(
>
> Nå men jeg skulle nu være klar igen, jeg har fået ændret min kode men er
> kørt i stå igen. Hvordan tæller jeg det totale salg op og hvordan tæller
jeg
> salg op på de forskellige kategorier? mine kategorier er delt i 4 med
> tallene 1, 2, 3, 4. Min kode ser ud som følger:
>
> public class SalesCompany2
>
>
> {
> public static void main(String[] args) {
> int[] kat = { 0, 0, 0, 0, 0 };
> int tekst = 0;
> int pris = 0;
> for (;;) {
> tekst = Integer.parseInt(JOptionPane.showInputDialog(null,
"Indtast
> kundenr."));
> if (tekst > 499) {
> JOptionPane.showMessageDialog(null, "Ulovligt tal");
> } else {
> if (tekst == 0) break;
> pris = Integer.parseInt(JOptionPane.showInputDialog(null,
> "Indtast salg"));
> kat[tekst/100] += pris;
> }
> System.out.println("Kundenr:" + tekst + "\t Salg:" + pris);
> }
> for(int i = 0; i < kat.length; i++) {
> System.out.println("Kategori:" + i + "\t Salg:" + kat[i]);
> }
> }
> }
>
>
> Med venlig hilsen
>
> Tommy
>
>
>
> "Finn Nielsen" <spamtrap2@zero.zznyyd.dk.invalid> skrev i en meddelelse
> news:m3y8q6h9ja.fsf@triton.zznyyd.dk...
> > "Tommy" <info@manniken.dk> writes:
> >
> > > Hvad gør jeg galt i nedenstående? Jeg får en fejl på de 3 sidste
tuborg
> >
> > Som Søren skriver så har du en { for meget, desuden har du anbragt din
> > while efter afslutningen på din else-blok, istedet hvor den burde være
> > efter afslutningen på do-blokken.
> >
> > --
> > Finn Nielsen - http://www.finnnielsen.dk/
> >
> > For email: Fjern den første og sidste del af domænet fra min adresse.
>
>



Janus E (23-03-2004)
Kommentar
Fra : Janus E


Dato : 23-03-04 22:49


"Tommy" <info@manniken.dk> wrote in message
news:40607458$0$523$edfadb0f@dread14.news.tele.dk...
> Rettelse......
>
> Jeg tæller jo mine kategorier op så jeg skal bare kunne lave en total af
> hele salget
>
>
> Tommy


Er det en summering af dit kat array du vil have?

int total = 0;
for (int i = 0; i < kat.length; i++) {
total += kat[i];
}
System.out.println("Totalen er : " + total);


Vh Janus


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.639 / Virus Database: 408 - Release Date: 22-03-2004



Tommy (24-03-2004)
Kommentar
Fra : Tommy


Dato : 24-03-04 08:25


Tak Janus

Mener du at jeg skal have 2 for løkker? Hvis jeg har det brokker den sig
over at int i allerede er defineret en gang :-/

Tommy

>
>
> Er det en summering af dit kat array du vil have?
>
> int total = 0;
> for (int i = 0; i < kat.length; i++) {
> total += kat[i];
> }
> System.out.println("Totalen er : " + total);
>
>
> Vh Janus
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.639 / Virus Database: 408 - Release Date: 22-03-2004
>
>



Tommy (24-03-2004)
Kommentar
Fra : Tommy


Dato : 24-03-04 08:32

En lille tilføjelse, jeg kan få lov til at køre det når jeg fjerner int
d.v.s. at det ser ud som følger.

int total = 0;
for ( i = 0; i < kat.length; i++) {
total += kat[i];
}
System.out.println("Totalen er : " + total);

Men så skriver den kun min total, mine kategorier forsvinder?

Tommy



> > Er det en summering af dit kat array du vil have?
> >
> > int total = 0;
> > for (int i = 0; i < kat.length; i++) {
> > total += kat[i];
> > }
> > System.out.println("Totalen er : " + total);
> >
> >
> > Vh Janus
> >
> >
> > ---
> > Outgoing mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.639 / Virus Database: 408 - Release Date: 22-03-2004
> >
> >
>
>



Janus E (24-03-2004)
Kommentar
Fra : Janus E


Dato : 24-03-04 12:43

"Tommy" <info@manniken.dk> wrote in message
news:40613962$0$137$edfadb0f@dread11.news.tele.dk...
> En lille tilføjelse, jeg kan få lov til at køre det når jeg fjerner int
> d.v.s. at det ser ud som følger.
>
> int total = 0;
> for ( i = 0; i < kat.length; i++) {
> total += kat[i];
> }
> System.out.println("Totalen er : " + total);
>
> Men så skriver den kun min total, mine kategorier forsvinder?
>
> Tommy
>

Okay, jeg havde ikke lige lagt mærke til du allerede havde defineret
variablen i andetsteds i koden :)

Du skal selvfølgelig ikke ændre på den kode du allerede har lavet, det
stykke kode jeg skrev tidligere er /udelukkende/ til at summere værdierne i
dit kat array. En anden måde du kan gøre det på er at hard code det, altså
sige

int total = kat[0] + kat[1] + kat[2] osv osv.

-men kræver selvfølgelig at kat array'et ikke ændrer størrelse.

Men den smarteste måde er nok at du kombinerer de to for-løkker i een, du
sparer kode og beregningsbelastning:

....
int total = 0;
// din kode
for(int i = 0; i < kat.length; i++) {
System.out.println("Kategori:" + i + "\t Salg:" + kat[i]);
// min tilføjelse
total += kat[i];
}
// min tilføjelse igen
System.out.println("Total: " + total);
....


vh janus


> > > Er det en summering af dit kat array du vil have?
> > >
> > > int total = 0;
> > > for (int i = 0; i < kat.length; i++) {
> > > total += kat[i];
> > > }
> > > System.out.println("Totalen er : " + total);
> > >
> > >
> > > Vh Janus
> > >
> > >
> > > ---
> > > Outgoing mail is certified Virus Free.
> > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > Version: 6.0.639 / Virus Database: 408 - Release Date: 22-03-2004
> > >
> > >
> >
> >
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.639 / Virus Database: 408 - Release Date: 22-03-2004



Tommy (24-03-2004)
Kommentar
Fra : Tommy


Dato : 24-03-04 14:02

Tak Janus

Det virker kanon 8>)

Tommy

"Janus E" <dont.mail.me@thanks.invalid.com> skrev i en meddelelse
news:Yue8c.230$6D3.209@news.get2net.dk...
> "Tommy" <info@manniken.dk> wrote in message
> news:40613962$0$137$edfadb0f@dread11.news.tele.dk...
> > En lille tilføjelse, jeg kan få lov til at køre det når jeg fjerner int
> > d.v.s. at det ser ud som følger.
> >
> > int total = 0;
> > for ( i = 0; i < kat.length; i++) {
> > total += kat[i];
> > }
> > System.out.println("Totalen er : " + total);
> >
> > Men så skriver den kun min total, mine kategorier forsvinder?
> >
> > Tommy
> >
>
> Okay, jeg havde ikke lige lagt mærke til du allerede havde defineret
> variablen i andetsteds i koden :)
>
> Du skal selvfølgelig ikke ændre på den kode du allerede har lavet, det
> stykke kode jeg skrev tidligere er /udelukkende/ til at summere værdierne
i
> dit kat array. En anden måde du kan gøre det på er at hard code det, altså
> sige
>
> int total = kat[0] + kat[1] + kat[2] osv osv.
>
> -men kræver selvfølgelig at kat array'et ikke ændrer størrelse.
>
> Men den smarteste måde er nok at du kombinerer de to for-løkker i een, du
> sparer kode og beregningsbelastning:
>
> ...
> int total = 0;
> // din kode
> for(int i = 0; i < kat.length; i++) {
> System.out.println("Kategori:" + i + "\t Salg:" + kat[i]);
> // min tilføjelse
> total += kat[i];
> }
> // min tilføjelse igen
> System.out.println("Total: " + total);
> ...
>
>
> vh janus
>
>
> > > > Er det en summering af dit kat array du vil have?
> > > >
> > > > int total = 0;
> > > > for (int i = 0; i < kat.length; i++) {
> > > > total += kat[i];
> > > > }
> > > > System.out.println("Totalen er : " + total);
> > > >
> > > >
> > > > Vh Janus
> > > >
> > > >
> > > > ---
> > > > Outgoing mail is certified Virus Free.
> > > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > > Version: 6.0.639 / Virus Database: 408 - Release Date: 22-03-2004
> > > >
> > > >
> > >
> > >
> >
> >
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.639 / Virus Database: 408 - Release Date: 22-03-2004
>
>



kgc (25-03-2004)
Kommentar
Fra : kgc


Dato : 25-03-04 07:14

> En lille tilføjelse, jeg kan få lov til at køre det når jeg fjerner int
> d.v.s. at det ser ud som følger.
>
> int total = 0;
> for ( i = 0; i < kat.length; i++) {
> total += kat[i];
> }
Bare en lille forklaring til dig, som måske kan gøre det lettere at
forstå hvad der gik galt - selvom jeg kan se du har fået en udmærket
løsning på problemet andetsteds i tråden (hvis du har forstået følgende,
så undskyld forstyrrelsen .

Når du fjerner int benytter du den tidligere erklærede variabel
(erklæret af den omsluttende for-løkke), og altså bliver dens værdi
ændret, hvorfor den omsluttende for-løkke ikke bliver gennemløbet som
ventet. Det er for det meste noget uoverskueligt rod at ændre værdien af
en løkkes tæller-variabel inde i løkken. Du kunne simpelthen kalde
variablen i den "indre" for-løkke noget andet, f.eks. således:
for (int j = 0; j < kat.length; j++) {
   total += kat[j];
}

Grunden til at du ikke kan køre med "for(int i = 0..." i den indre
for-løkke, er altså at du har erklæret variablen "i" i den ydre
for-løkke, og derfor ikke kan erklære den igen inden i løkken, men
derimod kan du naturligvis bruge den - men du bør normalt ikke ændre på
dens værdi, medmindre du er helt sikker på at det faktisk er det du vil .

Mvh. Kasper

--
Besøg mig på nettet: http://www.kaspershjemmeside.dk

Tommy (25-03-2004)
Kommentar
Fra : Tommy


Dato : 25-03-04 15:14

Hej Kasper

Tak , det hjalp!

Tommy


"kgc" <news1@kaspershjemmeside.dk> skrev i en meddelelse
news:406278b9$0$417$edfadb0f@dread14.news.tele.dk...
> > En lille tilføjelse, jeg kan få lov til at køre det når jeg fjerner int
> > d.v.s. at det ser ud som følger.
> >
> > int total = 0;
> > for ( i = 0; i < kat.length; i++) {
> > total += kat[i];
> > }
> Bare en lille forklaring til dig, som måske kan gøre det lettere at
> forstå hvad der gik galt - selvom jeg kan se du har fået en udmærket
> løsning på problemet andetsteds i tråden (hvis du har forstået følgende,
> så undskyld forstyrrelsen .
>
> Når du fjerner int benytter du den tidligere erklærede variabel
> (erklæret af den omsluttende for-løkke), og altså bliver dens værdi
> ændret, hvorfor den omsluttende for-løkke ikke bliver gennemløbet som
> ventet. Det er for det meste noget uoverskueligt rod at ændre værdien af
> en løkkes tæller-variabel inde i løkken. Du kunne simpelthen kalde
> variablen i den "indre" for-løkke noget andet, f.eks. således:
> for (int j = 0; j < kat.length; j++) {
> total += kat[j];
> }
>
> Grunden til at du ikke kan køre med "for(int i = 0..." i den indre
> for-løkke, er altså at du har erklæret variablen "i" i den ydre
> for-løkke, og derfor ikke kan erklære den igen inden i løkken, men
> derimod kan du naturligvis bruge den - men du bør normalt ikke ændre på
> dens værdi, medmindre du er helt sikker på at det faktisk er det du vil
.
>
> Mvh. Kasper
>
> --
> Besøg mig på nettet: http://www.kaspershjemmeside.dk



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste