Avatar billede rabitjosph Juniormester
15. december 2005 - 20:29 Der er 5 kommentarer og
1 løsning

Brug af IF, Else

Hej

Jeg skal lave et program, der kan finde det største tal ud af 3 tilfældige tal, og jeg må kun bruge IF, Else

Jeg kan ikke helt regne den ud !

Hvordan vil dette programstykke se ud ?

Mvh JGL
Avatar billede arne_v Ekspert
15. december 2005 - 20:44 #1
prøv og vis hvad du har og hvor du er kørt fast
Avatar billede rabitjosph Juniormester
15. december 2005 - 21:07 #2
//Skriv et program, som finder det største og det mindste af tre tal

//int x;
//double y;
//y = 3.8;
//x = (int) y


public class mindsttal
{
    public static void main (String[] arg)
    {
            int x1, x2, x3;
            double y1, y2, y3;
   
        y1 = 100*Math.random();
        y2 = 100*Math.random();
        y3 = 100*Math.random();
       
       
        System.out.println (y1);
        System.out.println (y2);
        System.out.println (y3);
       
               
        x1 = (int) y1;
        x2 = (int) y2;
        x3 = (int) y3;
       
            System.out.println ();
        System.out.println (x1 + "  Er 1. tal");
        System.out.println (x2 + "  Er 2. tal");
        System.out.println (x3 + "  Er 3. tal");
       
        if (x1 < x2) System.out.println( x1 +"er mindre end x2");
            else if(x1 < x3) System.out.println( x1 +"er større end x2");
                    System.out.println( x1 +"er største tal");
Avatar billede kalp Novice
15. december 2005 - 23:43 #3
største tal

if(x1 > x2 && x1 > x3)
System.out.println( x1 +"er største tal");
else if(x2 > x1 && x2 > x3)
System.out.println( x2 +"er største tal");
else if(x3 > x1 && x3 > x2)
System.out.println( x3 +"er største tal");

mindste tal

if(x1 < x2 && x1 < x3)
System.out.println( x1 +"er det mindste tal");
else if(x2 < x1 && x2 < x3)
System.out.println( x2 +"er det mindste tal");
else if(x3 < x1 && x3 < x2)
System.out.println( x3 +"er det mindste tal");
Avatar billede arne_v Ekspert
15. december 2005 - 23:51 #4
umiddelbart synes jeg at

if() {
  if() {
  } else {
  }
} else {
  if() {
  } else {
  }
}

virker elegantere
Avatar billede kalp Novice
15. december 2005 - 23:55 #5
Det er det nok også:)
Avatar billede jakoba Nybegynder
16. december 2005 - 00:45 #6
I din kode
        if (x1 < x2) System.out.println( x1 +"er mindre end x2");
            else if(x1 < x3) System.out.println( x1 +"er større end x2");
                    System.out.println( x1 +"er største tal");
går det galt i den anden linie hvor "System.out.println( x1 +"er større end x2")" er kommet om bagved den anden test.

faktisk var if sætninger nemmere at forstå i pascal, hvor man skrev 'then'
if (x1 < x2)
then { // betingelsen er sand
}
else { // betingelsen er falsk
}
men C og nu Java har sparet 'then'et væk, så nu er det bare
if (x1 < x2) {    // x1 er mindre end x2
    if(x1 < x3) {  // x1 er også mindre end x3 );
      // ergo x1 er mindst
      // så enten x2 eller x3 må være størst
      if(x2 < x3) {  // x2 er mindre end x3
          // ergo x3 er størst
      }
      else {
          // ergo x2 er størst
      }
    }
    else {        // men x1 er større end x3
      // ergo x3 er mindst
      // ergo x2 er størst
    }
}
else { // x1 er større end x2
  osv.
}
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