IT

driver

16. oktober 2007 af pa8n (Slettet)

public class Driver
{
public static void exam() {
Track t1 = new Track("Yesterday:", "The Beatles", 2, 05);
Track t2 = new Track("Riders on the Storm", "The Doors", 7, 35);

System.out.println(t1.toString());
System.out.println(t2.toString());

PlayList p1 = new PlayList(t1, "PlayList 1");
p1.addTrack(t2);
}

Svar #1
16. oktober 2007 af pa8n (Slettet)

"Opret et objekt af typen Playlist i exam-metoden i Driver-klassen og knyt de to allerede
oprettede Track-objekter hertil." - Det har jeg gjort men den siger at der er noget galt med playlist?

Svar #2
16. oktober 2007 af pa8n (Slettet)

Den siger at der er noget galt i konstroktoren i playlist, som jeg har her:
import java.util.ArrayList;
public class PlayList
{
private String playlistName;
private ArrayList tracks;

public PlayList(String newPlaylistName) {
playlistName = newPlaylistName;
tracks = new ArrayList();
}

public void addTrack(Track t) {
tracks.add(t);
}

public void removeTrack(Track t) {
tracks.remove(t);
}


}

Brugbart svar (1)

Svar #3
16. oktober 2007 af kleif

Du bruger ikke konstruktoren korrekt:

public class Driver
{
public static void exam() {
Track t1 = new Track("Yesterday:", "The Beatles", 2, 05);
Track t2 = new Track("Riders on the Storm", "The Doors", 7, 35);

System.out.println(t1.toString());
System.out.println(t2.toString());

PlayList p1 = new PlayList("PlayList 1");
p1.addTrack(t1);
p1.addTrack(t2);
}

Svar #4
16. oktober 2007 af pa8n (Slettet)

Vil du forklare, hvorfor det skal være sådan?

Brugbart svar (1)

Svar #5
16. oktober 2007 af kleif

Ja, hvis du kigger på konstruktoren, så kan du et at den kun tager 1 parameter, end string.

public PlayList(String newPlaylistName) {

Svar #6
16. oktober 2007 af pa8n (Slettet)

Ok.

public class Random
{
private String name;
private java.util.Random r;
private int digits;

/**
* Constructor for objects of class MemoryTest
*/
public Random(String newName)
{
name = newName;
r = new java.util.Random();
}

public void CreateDigits()
{
digits = r.nextInt(10000000);
System.out.println("The digits are: " + digits);
}


}

Svar #7
16. oktober 2007 af pa8n (Slettet)

Hvordan skriver man et program, således den spytter 2000 tilfældige tal ud. Man skal også selv kunne bestemme, hvordan cifrene skal stå. Fx 4 på hver række.

Fx.
4902
9021
....

og så en metode, hvor man taster de førte tal ind. Hvis de tal man taster ind er korrekte er det godt, men det er bare én fejl, er det ikke godt.

Brugbart svar (1)

Svar #8
16. oktober 2007 af kleif

Har du selv et forslag ?

Svar #9
16. oktober 2007 af pa8n (Slettet)


public void PrintResult()
{
if(digits == RealDigits) {System.out.println("They are all correct in Test 1 ");
if(digits != RealDigits) {System.out.println("There exist errors in Test 1 "); }
}

Svar #10
16. oktober 2007 af pa8n (Slettet)

Jeg kan ik lave resten..

Svar #11
16. oktober 2007 af pa8n (Slettet)

Hvad med den her: Hvad gør jeg galt?

public void CreateDigits()
{
for(int i = 0; i < 500; i++) digits = r.nextInt(10000000);


System.out.println("The digits are: " + digits);
}

Brugbart svar (1)

Svar #12
16. oktober 2007 af piper (Slettet)

Generer tallene tilfældigt ved brug af Random-klassen. Så kan du putte dem op i en ArrayList (brug evt. Integer wrapper class) eller brug et fixed-sized array.

Tallene genererer du over en løkke og smider det op i din liste/array, hver gang du har et nyt. Så kan du fremvise dem bagefter lige præcist som du vil.

Hvis du vil undersøge om et heltal n er fircifret kan du bare se om det opfylder 999 < tal < 10000 eksempelvis. Eller bruge integerdivision. Der er mange muligheder.

I #11 husker du ikke at opskrive din curly brackets {} efter din intention. Kig på loop-strukturen for en for-loop i din bog og skriv koden i 11# helt om.

Brugbart svar (1)

Svar #13
17. oktober 2007 af DanielPetersen (Slettet)

Som det fremgår er det vil dette vel løse dit problem:

public class Test
{
private int digits;
private java.util.Random r;

public Test() {
r = new java.util.Random();
}

public void Test1() {
System.out.println("The digits are: ");
for(int i = 0; i < 100; i++) {
digits = r.nextInt(10000);
System.out.println(digits);
}
}

public void Test2() {
System.out.println("The digits are: ");
for(int i = 0; i < 500; i++) {
digits = r.nextInt(10000);
System.out.println(digits);
}
}


}

Brugbart svar (1)

Svar #14
17. oktober 2007 af DanielPetersen (Slettet)

Hvis du har lyst, kan du lave en driver-klasse:

public class TestDriver
{
public static void exam() {
Test s1 = new Test();

s1.Test1();
s1.Test2();
}
}

Brugbart svar (1)

Svar #15
17. oktober 2007 af DanielPetersen (Slettet)

"er det" skal slettes i #13

Skriv et svar til: driver

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.