hjælp til en lille java opgave

Tags:    java

Jeg er igang med en opgave men kan ikke lave det.
Sådan lyder opgaven:
* Udvid programmet med en konstruktør,
* således at objektet kan tælle med en trinstørrelse der
* difineres ved fødslen af objektet.

Sådan ser programmet ud:

class runde {
private int klar, nedre, øvre;

public runde()
{
klar = 0;
}

public runde(int a)
{
nedre = 0;
øvre = a;
klar = 1;
}

public runde(int a, int b)
{
nedre = a;
øvre = b;
klar = 1;
}

public void gørdet()
{
if (klar != 0)
for(int i = nedre; i <= øvre; i++)
System.out.println(i);
}
}

public class interval1 {
public static void main(String[] args)
{
runde a = new runde(3);
runde b = new runde(5, 9);

a.gørdet();
b.gørdet();
}
}




Du kan tilføje en increment variabel til din class:
private int klar, nedre, øvre, inc;

Og lave en ny constructor:
public runde(int a, int b, int _inc)
{
nedre = a;
øvre = b;
inc = _inc;
klar = 1;
}

Og udvide gørdet funktionen til at tælle op med din incremet:
public void gørdet()
{
if (klar != 0)
for(int i = nedre; i <= øvre; i += inc)
System.out.println(i);
}
Husk at sætte inc i de andre constructorer!

Så kan du bruge:
runde c = new runde(2, 12, 2);
Der så vil tælle 2, 4, 6, 8, 10, 12



jeg har tilføjet inc, men det har faktisk ikke hjulpet.
Programmet kører og stopper ikke, og den kun viser 0



Jeg tror du skal poste hele koden, så jeg kan se hvad der går galt.



class runde1
{
private int klar, nedre, øvre, inc;

public runde1()
{
klar = 0;
}

public runde1(int a)
{
nedre = 0;
øvre = a;
klar = 1;
}

public runde1(int a, int b)
{
nedre = a;
øvre = b;
klar = 1;
}

public runde1(int a, int b, int _inc)
{
nedre = a;
øvre = b;
inc = _inc;
klar = 1;
}

public void gørdet()
{
if (klar != 0)
for(int i = nedre; i <= øvre; i += inc)
System.out.println(i);
}
}

public class Opgave_3_3_1
{
public static void main(String[] args)
{
runde1 a = new runde1(3);
runde1 b = new runde1(5, 9);
runde1 c = new runde1(2, 12, 2);

a.gørdet();
b.gørdet();
c.gørdet();
}
}

Men som jeg har forstået opgaven skulle man måske oprette en constructor til og tilføjer en forloop i selve constructoren.



Som jeg skrev:

Husk at sætte inc i de andre constructorer!


Dvs. du skal sætte inc til 1 i de andre constructorer.



Jeg læser opgaven som at du skal lave programmet på den måde du har lavet det.

Det giver i mine øjne ikke så meget mening at lave for loopen i constructoren, men jeg er heller ikke lærer.



Nu virker den. Mange tak for hjælpen :)



t