"Miep"-Spiel

Nur blöd ist nur.... Unsere Lehrerin möchte das wir das ohne contains oder anderen speziellen befehlen mach.... Mir würde ja die einfache Methode reichen aber... naja...
Vllt weiß ja einer neh normale Möglichkeit....
Auf jedenfall erstma an alle thx die mir weiter geholfen haben :D
 
Hallo,

was heißt den hier normale Lösung? Also deine Lehrerin scheint an einer "normalen" Lösung ja nicht interessiert zu sein.
Was darf man den und was darf man nicht? Soll es eine mathematische Lösung sein oder was soll es nun werden? Wenn es eine
mathematische Lösung sein muss, geht es doch mit der for-Schleife!
Die Lösung mit String ist die leichteste Lösung und damit für mich normal :)

Grüße
 
Zuletzt bearbeitet:
Ja für mich ist die String Lösung auch am besten.... Die will nur das wir das ohne die Methoden wie String etc machen wir sollen das richtig mathematisch machen, also zB. nur mit Modolu... Aber ich hab keine Ahnung wie man das alles machen soll :D
Ist für mich zu einfach ich brauche komplizierte aufgaben :D
Damit kann ich besser umgehen als mit solchen einfachen Aufgabenstellungen
 
Nachdem jeder schon etwas gepostet hat, zeich ich auch mal was ich gemacht habe :)

Hier:
Java:
public class MiepSpiel {

    private static int start = 1;

    private static int end = 150;

    public static void main(String[] args) {
	for (int i = start; i <= end; i++) {
	    if (divisibleByThree(i)) {
		System.out.println("Miep");
	    } else if (isContainingAThree(i)) {
		System.out.println("Miep");
	    } else {
		System.out.println(i);
	    }
	}
    }

    // Ist die Zahl durch 3 teilbar?
    public static boolean divisibleByThree(int n) {
	if ((n % 3) == 0) {
	    return true;
	}
	return false;
    }

    // Ist in der Zahl eine 3 enthalten?
    public static boolean isContainingAThree(int n) {
	// Zahl in einen String umwandeln
	String number = Integer.toString(n);
	// String in ein Char-Array sodass jedes Zeichen einzeln ist
	char[] numbers = number.toCharArray();

	// Array durchlaufen und jedes zeichen überprüfen
	for (char c : numbers) {
	    // Ist 3 enthalten?
	    if (c == '3') {
		return true;
	    }
	}
	return false;
    }
}
 
Also es steht alles da :)

Java:
package miep_spiel;

import java.io.*;

public class Miep_Spiel {

	public static void main(String[] args) throws IOException{
		
		BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
		
		int zahlen, zahlEnde, zahl;
		String tastatur;
        boolean miep = false;
		
		System.out.println("Geben sie bitte an, wie bis wann das Programm laufen soll!");
		tastatur = eingabe.readLine();
		zahlEnde = Integer.parseInt(tastatur);
		
		for(zahlen = 1; zahlen <= zahlEnde; zahlen++) {
            miep = false;
			if(zahlen%3 == 0){
				System.out.print(" Miep");
                miep = true;
			} 

            zahl = zahlen;  // muss kopiert werden, da sie verändert wird und bei keinem Miep ausgegeben werden muss
            while  (zahl > 0 && !miep) {
                if ( zahl%10 == 3 )  { 
                   System.out.print(" Miep");
                    miep = true;
                 }
                 zahl/=10 ;
            }

			if (!miep) {
			       System.out.print(" " + zahlen);
			}
		}

	}

}
 
Zuletzt bearbeitet:
Zurück