Avatar billede mads375 Juniormester
04. december 2013 - 12:51 Der er 11 kommentarer og
1 løsning

Find korteste int

Hejsa.

Jeg er igång med at lave en test eksamensopgave, og er nået til nr.7. Her skal jeg finde den korteste sang. Jeg har tre klasser som ser sådan ud:


public class Driver
{
    public Driver() {
       
    }
    public static void exam() {
        Track t1 = new Track("Yesterday", "The Beatles", 2, 5);
        Track t2 = new Track("Ciwil War", "Guns N Roses", 4, 54);
        System.out.println(t1.toString());
        System.out.println(t2.toString());
       
        Playlist play = new Playlist("Rock");
        play.addTrack(t1);
        play.addTrack(t2);
       
    }
}
_________

public class Track
{
    private String songName, artist;
    private int min, sec;

    public Track(String ar, String sn, int m, int se) {
        artist = ar;
        songName = sn;
        min = m;
        sec = se;
       
    }
    public String toString() {
        return songName + ": " + artist + " (" + min + ":" + sec + ")";
    }
}
_________

import java.util.ArrayList;

public class Playlist
{
    private String playlistName;
    private ArrayList<Track> tracks;
   
    public Playlist(String n) {
   
    playlistName = n;
    tracks = new ArrayList<Track>();
    }
   
    public void addTrack(Track t) {
      tracks.add(t);
       
    }
   
    public void removeTrack(Track t) {
        tracks.remove(t);
    }
   
    public Track findShortestTrack() {
       
    }
}
__________

Opgaven er nr.7: http://postimg.org/image/ki04fejh9/

Jeg er ret sikker på jeg skal have lavet en forløkke, men jeg skal vel have skrevet noget som hele tiden sammenligner tallene, så den finder det laveste og udskriver? Kan man kave noget med min.value?

Mvh Mads
Avatar billede arne_v Ekspert
04. december 2013 - 12:56 #1
en for loekke
index til den hidtil mindst fundne vaerdi
en if saetning som sammenligner nuvaerende med hidtil mindste
Avatar billede mads375 Juniormester
04. december 2013 - 13:40 #2
Hm har kigget rundt på nettet, og kan ikke rigtig finde nogle tutorials, eller steder som beskriver et index, når det ikke ligger i en array. Kan du evt give lidt mere hint?
Avatar billede arne_v Ekspert
04. december 2013 - 13:47 #3
arrays indexeres som a[ix]

ArrayList indexeres som al.get(ix)
Avatar billede mads375 Juniormester
04. december 2013 - 14:34 #4
Jeg er lost, sorry.

Det eneste jeg har indtil videre er:

public Track findShortestTrack() {
        for(int counter=0; counter < Track.length; counter++) {

}

er det noget med index.of...?
Avatar billede arne_v Ekspert
04. december 2013 - 15:21 #5
din for loekke skal loebe fra 0 til tracks.size()

du skal sammenligne med vaerdien i index i via get metoden
Avatar billede mads375 Juniormester
04. december 2013 - 15:59 #6
hvad med noget ala dette her:

public Track findShortestTrack() {
        for(int counter=0; counter < tracks.size(); counter++) {
            if( tracks[counter] < minValue) {
            minValue = tracks[counter];
            }
        }
        return minValue;
           
        }
    }
Avatar billede arne_v Ekspert
04. december 2013 - 21:01 #7
Ja.

Bortset fra at metoden altssa returnerer mindste vaerdi.
Avatar billede mads375 Juniormester
08. december 2013 - 12:04 #8
Ok, jeg prøver lige at lege lidt rundt med det så. Smider du et svar Arne?

Mvh Mads
Avatar billede mads375 Juniormester
08. december 2013 - 12:12 #9
Ved du iøvrigt hvad jeg gør forkert her:

http://postimg.org/image/5msrxmd33/
Avatar billede arne_v Ekspert
08. december 2013 - 15:58 #10
I Java skal du bruge tracks.get(counter) ikke tracks[counter].
Avatar billede arne_v Ekspert
08. december 2013 - 16:58 #11
og et svar
Avatar billede mads375 Juniormester
13. december 2013 - 14:18 #12
takker Arne
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester