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.
bei mir kommt immer der Fehler "The method find(int, int[]) is undefined for the type MyAlgo. Fehler in der Zeile mit dem ?. Dabei wird das "find" immer unterstrichen
Ich poste einfach den Programmcode:
Hier ist der Quellcode:
Java:
int suche, gefunden;
BufferedReader stdIn;
stdIn = new BufferedReader (new InputStreamReader (System.in));
System.out.print("Geben Sie den zu suchenden Wert ein: ");
String line = stdIn.readLine();
suche = Integer.parseInt(line);
? gefunden= MyAlgo.find(suche, feld);
if (-1== gefunden)
System.out.println(suche + " leider NICHT gefunden");
else
System.out.println(suche + " ist an der Stelle " + gefunden);
Das ist die Methode:
public static int find(int suche, int[] a) {
int gefunden_idx = -1;
for (int i = 0; i<a.length; i++)
{
if (a[i]==suche)
{
gefunden_idx=1;
}
}
return gefunden_idx;
}
Ein Fehler ist jedenfalls die fehlende Formatierung.
Aber mal so ins Blaue hinein: Die Methode find(int, int) gibt es in MyAlg nicht. Möchte sie vielleicht zwei Longs haben? Oder ist sie nicht öffentlich (public)?
Also mal abgesehen von der Formatierung und dem Aufbau funktionierts bei mir, was ist jetzt das Problem?
Java:
package testappl;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author mque
*/
public class MyAlgo {
public MyAlgo() throws IOException {
test();
}
public static void main(String[] args) throws IOException {
new MyAlgo();
}
private void test() throws IOException {
BufferedReader stdIn = new BufferedReader (new InputStreamReader (System.in));
System.out.print("Geben Sie den zu suchenden Wert ein: ");
String line = stdIn.readLine();
int suche = Integer.parseInt(line);
int[] feld = new int[] {1,2,3,4,5};
int gefunden = MyAlgo.find(suche, feld);
if (-1 == gefunden)
System.out.println(suche + " leider NICHT gefunden");
else
System.out.println(suche + " ist an der Stelle " + gefunden);
}
public static int find(int suche, int[] a) {
int gefunden_idx = -1;
for (int i = 0; i<a.length; i++) {
if (a[i]==suche) {
gefunden_idx=1;
}
}
return gefunden_idx;
}
}
also bei mir funzt die Klasse einwandfrei. Nur die Suche ist net so ganz richtig, denn 5 steht am Index 4 und er spuckt mir aus, dass das am Index 1 steht ???:L
Weil ein Programmierer in Zeile 40 den gefundenen Index immer auf 1 stellt und nicht auf i :lol::lol::lol::lol::lol::lol::lol::lol::lol::lol::lol::lol::lol::lol::lol: