Avatar billede madser22 Novice
19. januar 2012 - 00:36 Der er 8 kommentarer og
1 løsning

returnere samlet antal

Hejsa igen.

Jeg har nu et spørgsmål, som hedder:

"Programmér metoden spectators (Cinema). Metoden skal returnere det samlede antal tilskuere for filmen movie. Test metoden spectators fra exam-metoden i Driver-klassen"

Jeg er lidt i tvivl om hvordan jeg gør det. Skal det også ind i en forløkke eller? Min klasser ser således ud nu:

public class Driver
{   
    public static void exam() {
       
    CinemaShow cs1 = new CinemaShow("Gangsteren", "2012-12-01", "21:00", 234);
    CinemaShow cs2 = new CinemaShow("Party On", "2012-01-01", "10:00", 231);
    System.out.println(cs1.toString());
    System.out.println(cs2.toString());
   
    Cinema c = new Cinema("Biografen");
    c.add(cs1);
    c.add(cs2);
   
    System.out.println(c.mostCrowded().toString());
       
       
    }

   
}


public class CinemaShow
{
    private String movie, date, time;
    private int spectators;

    public CinemaShow(String movie, String date, String time, int spectators)
    {
        this.movie = movie;
        this.date = date;
        this.time = time;
        this.spectators = spectators;
    }

   
    public String toString()
    {
        return(movie + ", " + date + ", " + time + ", " + spectators);
    }
   
    public int getSpectators() {
   
        return (spectators);
    }
}


import.java.util.*;

public class Cinema
{
    private String cinemaName;
    private ArrayList<CinemaShow> listofcinemaShows = new ArrayList<CinemaShow>();

    public Cinema (String cinemaName)
    {
        this.cinemaName = cinemaName;
    }

   
    public void add(CinemaShow cs) {
       
        listofcinemaShows.add(cs);
    }
   
    public void remove (CinemaShow cs) {
   
        listofcinemaShows.remove(cs);
    }
   
    public CinemaShow mostCrowded() {
     
        CinemaShow res = listofcinemaShows.get(0);
        for(int i = 1; i < listofcinemaShows.size(); i++) {
        if (res.getSpectators() < listofcinemaShows.get(i).getSpectators()) {
       
        res = listofcinemaShows.get(i);
       
        }

      }
   
    return res;
  }
 
  public void int spectators (String movie) {
   
   
 
    }
 
}
Avatar billede arne_v Ekspert
19. januar 2012 - 00:42 #1
Ja - du skal have en for loekke som checker alle film og akkumulerer antal seere.
Avatar billede arne_v Ekspert
19. januar 2012 - 00:45 #2
Pesudo kode:

sum = 0
for alle film i biografen {
    if fil navn = argument {
        sum = sum + antal seere
    }
}
return sum
Avatar billede arne_v Ekspert
19. januar 2012 - 02:25 #3
og husk at bruge equals metoden ikke == operatoren for at sammenligne String's i Java
Avatar billede JensPeterSvensson Nybegynder
19. januar 2012 - 09:14 #4
Som jeg læser det er det antallet af tilskuerer til en film ikke til alle. (Ellers er der vel ikke grund til at give filmens navn.)

Ville da tro at det her er mere rigtigt:

for alle film i biografen {
    if film navn = argument {
        return antal seere til filmen
    }
}
return 0 eller en fejl, hvis det en fejl at give en ikke eksiterende film


Du skal så enten udvide din CinemaShow klasse, med en metode der enten returnere filmens navn eller som tager en films navn og returnerer true hvis det er den film der bliver vist i showet.
Avatar billede madser22 Novice
19. januar 2012 - 13:05 #5
Hejsa.

Mange tak for svarene. Problemet er lidt for mig, at jeg forstår egentligt sagtens hvad det er i mener, men jeg kan ikek finde ud af at formulere det ned på kode.

public void int spectators (String movie) {
        for int i = 1; i < listofcinemaShows.size(); i++) {
        if
       
       
        }
   
 
    }

Jeg ved det simplethen ikke.
Avatar billede arne_v Ekspert
19. januar 2012 - 14:42 #6
jenspeter>

saa vidt jeg kan se er CinemaShow en kombination af film navn og dato saaledes at det samme film navn kan optraede flere gange
Avatar billede arne_v Ekspert
19. januar 2012 - 14:43 #7
mads>

lav din sum og saet den til 0

i if skal du teste paa om filmens navn matcher med equals

og inden i if skal du laegge til sum
Avatar billede madser22 Novice
22. februar 2012 - 11:31 #8
hov, jeg kom vist helt fra at lukke spørgsmålet, det må i undskylde. Arne det virkede, så ligger du ikke et svar?
Avatar billede arne_v Ekspert
22. februar 2012 - 15:05 #9
kommer her
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

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