Zahl überprüfen

DrIkarus

Mitglied
Moin,

ich weiß der Titel ist eher schlecht gewählt, aber mehr brauchts dazu nicht :D

Wie kann ich denn eine Zahl darauf überprüfen ob eine andere Zahl enthalten ist,also zum Bsp die Zahl 18 darauf überprüfen ob die 8 enthalten ist.

Gibts da eine besondere Methode oder hat jemand einen Tipp, Link, Anregung ?

Ich freu mich

Doc
 
Java:
int zahl,finden,result;
zahl=18;
finden=8;

result=(zahl.toString()).indexOf(finden.toString());

if(result==-1){/*Nicht enthalten*/}
else{/*Ist enthalten*/}
 
zahl.toString() kann auch nicht wirklich funktionieren, da zahl ein int ist und ein int keine Methoden hat...

boolean isIn = Integer.toString(18).contains(Integer.toString(8))

Sollte besser funktionieren :)

Die Frage ist viel mehr: Was willst du eigentlich machen? Vielleicht gibt es ja eine bessere Möglichkeit.
 
Ich hab das jetzt erstmal zum testen so übernommen, wie du es geschrieben hast :)

Bei mir wird der Ausdruck zahl.toString & finden.toString rot markiert, mit dem Fehler:

cannot invoke toString() on the primitive type int
 
Also grundsätzlich will ich ein Programm schreiben, bei dem am Ende eine Liste von Zahlen raukommt, bei der bestimmte Zahlen "markiert" werden
Also wenn eine Zahl ohne Rest durch 7 teilbar ist, soll ein Wort dahinter stehen und eine Zahl die eine 7 enthält soll ein anderes Wort als Markierung bekommen.
Ich hab auch schon ne Lösung dafür, nur ist die nicht sehr professionell:

Code:
public class Plutsch {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		int i;
		for (i=1; i <= 100; i=i+1)			
				if (i==70||i==77||i==7)								
				System.out.println(i+"plitschplatsch");
			else 
				if (i%7==0)								
				System.out.println(i+"plitsch");
			else
				if (i-7==10||i-7==20||i-7==30||i-7==40||		
						i-7==50||i-7==60||i-7==80||i-7==90||
						i-70==1||i-70==2||i-70==3||i-70==4||
						i-70==5||i-70==6||i-70==8||i-70==9)
					System.out.println(i+"platsch");
				else
		{
			System.out.print(i+" \n");			
		}
	}


}

Für diese dritte if-Schleife bräuchte ich dann eben eine "bessere" Methode.
Das sieht schlecht aus und ist auch für Erweiterungen sehr unzulänglich:

Code:
if (i-7==10||i-7==20||i-7==30||i-7==40||		
						i-7==50||i-7==60||i-7==80||i-7==90||
						i-70==1||i-70==2||i-70==3||i-70==4||
						i-70==5||i-70==6||i-70==8||i-70==9)
					System.out.println(i+"platsch");
 
Ich hab das jetzt erstmal zum testen so übernommen, wie du es geschrieben hast :)

Bei mir wird der Ausdruck zahl.toString & finden.toString rot markiert, mit dem Fehler:

cannot invoke toString() on the primitive type int

Du kannst auch nicht auf eine int Variable toString() anwenden. DU musst die statische Methode aus der Wrapper Klasse Integer nehmen.

Code:
boolean isIn = Integer.toString(zahl).contains(Integer.toString(finden));

Gruß
 
Hier mal die Kurzversion für dein Problem ;)
Java:
public class PlitschPlatsch {

	public static void main(String[] args) {

		int start = 1;
		int end = 100;
		int suche = 7;

		for (int i = start; i <= end; i++) {
			System.out.print(i);
			if (i % suche == 0) {
				System.out.print("plitsch");
			}
			if (Integer.toString(i).contains(Integer.toString(suche))) {
				System.out.print("platsch");
			}
			System.out.println("");
		}

	}

}
 

Neue Beiträge

Zurück