Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wenn Zahlen 0 und 1 enthalten, dann die Zahl ausdrucken...
Hallo,
ich bin ein Newbi und Java und habe hier ein Programm, das nicht funktioniert, ich möchte, alle Zahlen, die 0 und 1 enthalten ausdrucken lassen, geht aber nicht...
Code:
import java.io.*;
import java.lang.*;
import java.util.*;
public class zahlen
{
public static void main(String[] args)
{
for (int zahl = 0; zahl < 1000; zahl ++)
if (zahl.contains (int 1, int 0) {
System.out.println(zahl);
}
}
}
bei mir kommen dann diese Fehlermeldungen:
Code:
zahlen.java:10: '.class' expected
if (zahl.contains (int 1, int 0) {
^
zahlen.java:12: ')' expected
}
^
zahlen.java:13: illegal start of expression
}
^
zahlen.java:10: unexpected type
required: value
found : class
if (zahl.contains (int 1, int 0) {
^
zahlen.java:10: int cannot be dereferenced
if (zahl.contains (int 1, int 0) {
zahl ist ein int - also ein primitiver Datentyp, daher kennt er keine Operationen. Weiterhin musst du bei 1 bzw. 0 nicht angeben, dass es ints sind - das versteht Java automatisch.....
und da dachte ich mir, vielleicht geht das nicht nur bei Koordinatensystemen, war wahrscheins blöd...
Denn mit der Hilfe von Bo, kann ich ja weiterhin nur die Zahlen eins und null ausgebenen, ich möchte aber ein app, dass mir alle zahlen ausspuckt, in dennen 1 und 0 vorkommen, und nur die...
Wenn mir da noch jemand heöfen könnte???
Viele Dank...
die Frage ist wo in der API steht das - wahrscheinlich bei irgendwelchen Graphic objekten (Rectangle / Point / Polygon) oder so....
allgemein: es steht zwar contains(int i, int y) so schaut aber nur die methoden definition aus ! Der Aufruf erfolgt ohne angabe des Datentyps (also contains(1,0)) z.b.
Zu deinem Problem:
Momentan fällt mir nichts besseres ein, als die Zahl in einen String zu verwandeln und dann mit indexOf() zu testen ob deine gewünschte Zahl drin ist
Code:
String s;
for(int i = 0; i < 1000; i++) {
s = Integer(i).toString;
if(s.indexOf("1") != -1 || s.indexOf("0" != -1)) {
System.out.println("GEFUNDEN!");
}
}
Das ist aber eher ein Hack - geht bestimmt auch besser, sollte aber funktionieren
danke für die schnelle Hilfe deatbyaclown.... aber ich blicks immer noch nicht. Aus irgendwelchen Gründen, kann er jetzt Integer nicht richtig verstehen:
Code:
zahlen.java:12: cannot resolve symbol
symbol : method Integer (int)
location: class zahlen
s = Integer(i).toString;
^
zahlen.java:13: operator != cannot be applied to java.lang.String,int
if(s.indexOf("1") != -1 || s.indexOf("0" != -1)) {
^
zahlen.java:13: operator || cannot be applied to boolean,int
if(s.indexOf("1") != -1 || s.indexOf("0" != -1)) {
^
3 errors
ich glaube, ich muss mich mal richtig mit den Basics beschäftigen, da ich bei so was immer im Wald stehe. Ich denke dann, dass ich vielleicht etwas nicht importiert habe, aber müsste ich in dem Fall haben, da Integer zu java.lang*; gehört. Viele Dank trotzdem für die Hilfe... and best wishes
String s;
for(int i = 0; i < 1000; i++) {
s = new Integer(i).toString;
if(s.indexOf("1") != -1 || s.indexOf("0") != -1) {
System.out.println("GEFUNDEN!");
}
}
du erzeugst dir ein temporäres IntegerObjekt und machst daraus ein String.
Mit indexOf testest du ob der angegebene String in s vorhanden ist - wenn nicht wird -1 zurückgegeben (gibt dir nämlich den index an dem der String auftaucht zurück)....