Brauche Hilfe bei Modulo (Übungsaufgabe)

der-andyman

Mitglied
Hi Leute, bin seit 3 Tagen im Informatik Vorkurs an der Uni und heute war die erste Übung zu den Vorlesungen und wir habe eine Aufgabe gestellt bekommen, die ich schlicht nicht lösen kann.
Wir sollen gucken, ob eine bestimmte Anzahl an Zahlen, die in einem Array stehen, durch 5 teilbar sind. Also wenn auch nur eine Zahl bei "Zahl % 5 == 0" ist, sollte das Programm ein "true" ausspucken, wenn nicht, ein "false".
Mein Problem ist jedoch, dass er immer true sagt, auch wenn es eigentlich ungleich 0 ist, also einen Rest hat. Könnt ihr da bitte mal drüberschauen?
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fuenfteiler;

/**
 *
 * @author Kivanc
 */
public class Fuenfteiler {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        float[] a = {11,2,4,13,16,9,8,17,32,68};
        float n = a.length;
        int i = 0;
        String b = null;
        boolean t;
        while (i < n ){
            if (a[i]%5 == 0)
                t=true;
            if (a[i]%5 != 0)
                t=false;
            //t= (a[i]%5 == 0);
            if (t=true)
                b = "Ja";
            if (t=false) 
                b= "Nein";
            i = i+1;
            System.out.println("Die Zahl an Stelle " +(i) +" ist:" +" "+a[i-1]);
        }   
        System.out.println();
        System.out.println("Ist mindestens eine davon durch 5 teilbar?: ");
        System.out.println(b);
    }
}
 
Zuletzt bearbeitet:

pinkysbrain

Mitglied
Java:
if (t = true) {

Hier muss ein doppeltes Gleichheitszeichen für einen Vergleich stehen.
Da t aber schon ein boolscher Wert ist kannst du vereinfacht folgendes schreiben:

Java:
if (t) {
 
Zuletzt bearbeitet:

der-andyman

Mitglied
Ich habe es nun wie folgt geändert, klappt immer noch nicht :( Er sagt nun immer "Nein"

Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fuenfteiler;

/**
 *
 * @author Kivanc
 */
public class Fuenfteiler {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int[] a = {10,2,4,13,16,9,8,17,32,68};
        int n = a.length;
        int i = 0;
        String b = null;
        boolean t;
        while (i < n ){
            if (a[i]%5 == 0)
                t=true;
            else
                t=false;
            //t= (a[i]%5 == 0);
            if (t) 
                b = "Ja";
            if (t ==false) 
                b= "Nein";
            i = i+1;
            System.out.println("Die Zahl an Stelle " +(i) +" ist:" +" "+a[i-1]);
        }   
        System.out.println();
        System.out.println("Ist mindestens eine davon durch 5 teilbar?: ");
        System.out.println(b);
    }
}

PS: Ich bin echt ein totaler angänger, hatte noch nie Java, nur Delphi!
 
Zuletzt bearbeitet:

pinkysbrain

Mitglied
Das nur Nein kommt liegt daran, dass du b in jeder Iteration überschreibst.
Nach der 10 steht b auf Ja, aber nach der 2 wieder auf Nein.
Du musst die Schleife also nach einen Ja durchbrechen.
Dies geht mit break.

Du kannst das deutlich einfacher in einer Methode lösen:

Java:
public static String fuenf(int[] feld) {
  for (i=0;i<feld.length;i++) {
    if (feld[i] %5 == 0)
     return "Ja";
  }
  return "Nein";
}

public static void main(String[] args) {
   int[] a = {10,2,4,13,16,9,8,17,32,68};
   System.out.println(fuenf(a));
 

der-andyman

Mitglied
Das nur Nein kommt liegt daran, dass du b in jeder Iteration überschreibst.
Nach der 10 steht b auf Ja, aber nach der 2 wieder auf Nein.
Du musst die Schleife also nach einen Ja durchbrechen.
Dies geht mit break.

Du kannst das deutlich einfacher in einer Methode lösen:

Java:
public static String fuenf(int[] feld) {
  for (i=0;i<feld.length;i++) {
    if (feld[i] %5 == 0)
     return "Ja";
  }
  return "Nein";
}

public static void main(String[] args) {
   int[] a = {10,2,4,13,16,9,8,17,32,68};
   System.out.println(fuenf(a));

Du schreibst das zwar, aber ich weiß garnicht, was diese Begriffe alles bedeuten ... und wo genau soll dieses
Java:
public static String fuenf(int[] feld) {
  for (i=0;i<feld.length;i++) {
    if (feld[i] %5 == 0)
     return "Ja";
  }
  return "Nein";
}
stehen?

Ich habe jetzt eine für mich akzeptable lösung gefunden mit:
Java:
    public static void main(String[] args) {
        // TODO code application logic here
        int[] a = {10,2,4,13,16,9,8,17,32,68};
        int n = a.length;
        int i = 0;
        String b = null;
        boolean t;
        while (i < n ){
            if (a[i]%5 == 0)
                t=true;
            else
                t=false;
            //t= (a[i]%5 == 0);
            if (t)
                b = "Ja";
            if (t ==false) 
                b= "Nein";
            i = i+1;
            System.out.println("Die Zahl an Stelle " +(i) +" ist:" +" "+a[i-1]);
            System.out.println("Ist diese Zahl durch 5 teilbar?:" +" "+b);
        }   
        System.out.println();
        System.out.println("Ist mindestens eine davon durch 5 teilbar?: ");
        System.out.println(b);
    }
}

Ich danke vielmals für die Unterstützung!
 

Deros

Bekanntes Mitglied
Java:
Die Zahl an Stelle 1 ist: 10
Ist diese Zahl durch 5 teilbar?: Ja
Die Zahl an Stelle 2 ist: 2
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 3 ist: 4
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 4 ist: 13
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 5 ist: 16
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 6 ist: 9
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 7 ist: 8
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 8 ist: 17
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 9 ist: 32
Ist diese Zahl durch 5 teilbar?: Nein
Die Zahl an Stelle 10 ist: 68
Ist diese Zahl durch 5 teilbar?: Nein

Ist mindestens eine davon durch 5 teilbar?: 
Nein

dir ist aber schon klar, dass da was falsches bei rauskommt oder?
 

Sehales

Bekanntes Mitglied
Eine einfache Lösung wäre folgende:

Java:
	public static void main(String[] args) {
		// TODO code application logic here
		int[] a = { 10, 2, 4, 13, 16, 9, 8, 17, 32, 68 };
		int n = a.length;
		int i = 0;
		boolean t;
		boolean b = false;
		while (i < n) {
			if (a[i] % 5 == 0)
				t = true;
			else
				t = false;
			// t= (a[i]%5 == 0);
			if (!b)
				b = t;

			i = i + 1;
			System.out.println("Die Zahl an Stelle " + (i) + " ist:" + " "
					+ a[i - 1]);
			System.out.println("Ist diese Zahl durch 5 teilbar?:" + " " + b);
		}
		System.out.println();
		System.out.println("Ist mindestens eine davon durch 5 teilbar?: ");
		System.out.println(b ? "Ja" : "Nein");
	}
 

der-andyman

Mitglied
Leute um die schafft mich ;-)

Ich weiß, dass es nicht direkt erfüllt ist, aber ich finde es so eigentlich besser... Außerdem weiß ich ja jetzt, wo mein Fehler lag, das Programm aus der eigentlichen Aufgabenstellung kann ich auch selber machen, kein Problem mehr :)
 

der-andyman

Mitglied
Eine einfache Lösung wäre folgende:

Java:
	public static void main(String[] args) {
		// TODO code application logic here
		int[] a = { 10, 2, 4, 13, 16, 9, 8, 17, 32, 68 };
		int n = a.length;
		int i = 0;
		boolean t;
		boolean b = false;
		while (i < n) {
			if (a[i] % 5 == 0)
				t = true;
			else
				t = false;
			// t= (a[i]%5 == 0);
			if (!b)
				b = t;

			i = i + 1;
			System.out.println("Die Zahl an Stelle " + (i) + " ist:" + " "
					+ a[i - 1]);
			System.out.println("Ist diese Zahl durch 5 teilbar?:" + " " + b);
		}
		System.out.println();
		System.out.println("Ist mindestens eine davon durch 5 teilbar?: ");
		System.out.println(b ? "Ja" : "Nein");
	}

Ich habe das jetzt mal so gemacht, aber was genau bewirkt die letzte Zeile?
Java:
System.out.println(b ? "Ja" : "Nein");
??
Also, warum gibt er damit die richtige Lösung, könntest du das bitte kurz erläutern?

Java:
if (!b)
    b = t;
habe ich verstanden :D
 
Zuletzt bearbeitet:

der-andyman

Mitglied
Also ist dieses ? eine Frage nach "If b == true" ... hm, kompliziert :D

Und eine Sache noch:
Das nur Nein kommt liegt daran, dass du b in jeder Iteration überschreibst.
Nach der 10 steht b auf Ja, aber nach der 2 wieder auf Nein.
Du musst die Schleife also nach einen Ja durchbrechen.
Dies geht mit break.

Du kannst das deutlich einfacher in einer Methode lösen:

Java:
public static String fuenf(int[] feld) {
  for (i=0;i<feld.length;i++) {
    if (feld[i] %5 == 0)
     return "Ja";
  }
  return "Nein";
}

public static void main(String[] args) {
   int[] a = {10,2,4,13,16,9,8,17,32,68};
   System.out.println(fuenf(a));
Könnte mir das nochmal einer kurz erklären? Ich verstehe wirklich garnicht, warum das klappt... ist das ne Rekursion?
 

Deros

Bekanntes Mitglied
hast den Code überhaupt mal ausprobiert? er funktioniert gar nicht, kein Plan was so ein Schmarn soll, aber er prüft immer nur den ersten Wert und bricht dann natürlich die Schleife mit dem return ab.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
TpKey10 Ich brauche Hilfe Java Basics - Anfänger-Themen 14
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
J Brauche Hilfe !! Java Basics - Anfänger-Themen 8
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
T Datentypen Brauche Hilfe bei Arrays Java Basics - Anfänger-Themen 3
U Brauche Hilfe bei Bisektionsverfahren Java Basics - Anfänger-Themen 23
E Erste Schritte brauche hilfe zum verstehen einer Klasse(Tiefensuche) Java Basics - Anfänger-Themen 17
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
L Brauche Hilfe bei Preisberechnungspogramm Java Basics - Anfänger-Themen 1
D Hilbert und Peano Kurve, ich brauche Hilfe Java Basics - Anfänger-Themen 4
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
A Erste Schritte Brauche Hilfe Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
S Klassen Brauche Hilfe bei Erstellung einer Klasse für einen Tachenrechner!!! Java Basics - Anfänger-Themen 6
W Brauche hilfe bei Hausübung Java Basics - Anfänger-Themen 10
X Brauche Hilfe bei printOnScreen Methode !!! Java Basics - Anfänger-Themen 2
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
K Erste Schritte Brauche Hilfe bei Starten des Programms Java Basics - Anfänger-Themen 11
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
H Java von Kopf bis Fuß: Brauche Hilfe Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
A Brauche Hilfe bei Division von Feldzahl durch Ganzzahl Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe für ein UML Diagramm Java Basics - Anfänger-Themen 7
S ICh brauche Hilfe,weil Java in der Schule Java Basics - Anfänger-Themen 11
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
I Primzahlenberechnung [Brauche Hilfe] Java Basics - Anfänger-Themen 5
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
F Reader - brauche Hilfe Java Basics - Anfänger-Themen 19
T Brauche Hilfe bei Variabeln Java Basics - Anfänger-Themen 4
J Brauche Hilfe mit replaceFirst Java Basics - Anfänger-Themen 10
M Brauche Hilfe bei Struktogramm Java Basics - Anfänger-Themen 9
T Datentypen brauche dringende hilfe!dezi in Asci umwandeln! Java Basics - Anfänger-Themen 4
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
B brauche hilfe bei funktion erstellen Java Basics - Anfänger-Themen 8
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
N Brauche Hilfe mit Kollisionserkennung! Java Basics - Anfänger-Themen 16
J Brauche Hilfe bei Methode Java Basics - Anfänger-Themen 9
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
G 2 dim. Strsing Arrays brauche Hilfe Java Basics - Anfänger-Themen 20
A Brauche hilfe String untertrennen Java Basics - Anfänger-Themen 12
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
H Brauche bei einen bsp hilfe! Java Basics - Anfänger-Themen 2
D Währungsrechner brauche Hilfe Java Basics - Anfänger-Themen 10
R Vokabeltrainer / Brauche Hilfe Java Basics - Anfänger-Themen 8
L Brauche Hilfe! Java Basics - Anfänger-Themen 8
S WAV-DATEIEN INTERPRETIEREN UND UMWANDELN Brauche Hilfe Java Basics - Anfänger-Themen 3
A Brauche Hilfe mit einer Forschleife Java Basics - Anfänger-Themen 20
N brauche Hilfe Stringverarbeitung Java Basics - Anfänger-Themen 9
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
M Brauche Hilfe bei Javaapplication für JuFo Java Basics - Anfänger-Themen 21
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
A brauche hilfe ( gpanel und n-ecke) Java Basics - Anfänger-Themen 11
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
S Brauche Hilfe mit waitFor() Java Basics - Anfänger-Themen 4
N Brauche dringende Hilfe Java Aplett läuft nicht! Java Basics - Anfänger-Themen 3
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2
G Ich brauche eure Hilfe! Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben