intervall

oddi

Mitglied
Bitte nicht erschlagen, beschäftige mich gerade den ersten tag mit java ;)

Machen auf der FH java und muss folgendes bsp lösen:

lesen sie 2 intervallgrenzen und danach beliebig viele zahlen (abschluss mit 0) ein und geben sie aus wei viele zahlen kleiner als die untere Intervallgrenze, wie viele im Intervall und wie viele größer als die oberere Intervallgrenze waren

Java:
package hausuebung;

import java.util.Scanner;
 
public class intervall {
    public static void main(String[] args) {
  Scanner s = new Scanner(System.in);

         
     int lowerThanInterval = 0;
     int higherThanInterval = 0;
     int inInterval = 0;
     
     System.out.println("intervall 1");
     int a = s.nextInt();  
     
        
     System.out.println("intervall 2");
     int b = s.nextInt();  
        
        
       
        int x = 1;
  while(x != 0 ){
   System.out.println("Zahl eingeben: ");
            String wert = s.next();
            x = Integer.parseInt(wert);    
            
            if (x > b)
             x = higherThanInterval;
            if (x < b)
             x = lowerThanInterval;
            if (x > a && x < b)
             x = inInterval;
      
            
           
            
        }
  
         System.out.println("werteA" + higherThanInterval); 
         System.out.println("werteB" + lowerThanInterval); 
         System.out.println("werteC" + inInterval); 
      
        

    }
 
}

das ist mein ansatz.. denke mal das ich komplett falsch liege. kann mir jemand sagen wie das in etwa zu lösen ist? mbe mit pseudo code oder so? danke und lg
 

Volvagia

Top Contributor
Du musst x nicht ...ThanInterval zuweißen, sondern einfach um 1 erhöhen:

Java:
...ThanInterval++;

(Du könntest die while noch zu einer do ändern, dann könntest du "int x = 0;" als Initialisation benutzen).
 

Volvagia

Top Contributor
Du kannst nach dem "String wert = s.next();" oder "x = Integer.parseInt(wert);" auf 0 testen und nur wenn es ungleich ist die Prüfung zum addieren des Counters ausführen.
 

oddi

Mitglied
habs jetzt russisch so gelöst:

Java:
   int x=1;
  while (x != 0 ){
   System.out.println("Zahl eingeben: ");
            String wert = s.next();
            x = Integer.parseInt(wert);    
            if (x == 0)
                break;
            if (x > b)
             higherThanInterval++;
            if (x < a)
            lowerThanInterval++;
            if (x > a && x < b)
             inInterval++;

danke auf jeden fall ;)
 

Ähnliche Java Themen

Neue Themen


Oben