Hallo, ich bin gerade am herumspielen mit Java und habe mir dabei eine eigene Aufgabe gestellt, die ich nun testen wollte.
Allerdings kriege ich immer diesen Fehler wenn ich die Datei kompiliere und ich weiß einfach nicht warum..
Ich habe schon alles versucht, den Fehler wegzukriegen, aber nun weiß ich nicht weiter.
Kann bitte einer Helfen.
Der Fehler:
Für diesen Code:
Die Klasse Kreis beinhaltet nur das attribut private int = durchmesser, mit den get und setter Methoden sowie den beiden Konstruktoren
Vielen Dank für die Hilfe
Allerdings kriege ich immer diesen Fehler wenn ich die Datei kompiliere und ich weiß einfach nicht warum..
Ich habe schon alles versucht, den Fehler wegzukriegen, aber nun weiß ich nicht weiter.
Kann bitte einer Helfen.
Der Fehler:
Code:
KreisSaver.java:95: error: incompatible types: Kreis cannot be converted to int
test.delete(b);
^
KreisSaver.java:97: error: incompatible types: Kreis cannot be converted to int
test.delete(b);
^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
2 errors
Für diesen Code:
Java:
import java.util.*;
public class KreisSaver{
private LinkedList <Kreis> list;
public KreisSaver(){
list = new LinkedList <Kreis>();
}
public void save(Kreis k){
Iterator <Kreis> iter;
iter = list.iterator();
boolean vorhanden = false;
Kreis temp = new Kreis();
while(iter.hasNext()){
temp = iter.next();
if(temp.getDurchmesser() == k.getDurchmesser()){
vorhanden = true;
}
}
if(vorhanden){
System.out.println("Der Kreis ist schon in der Liste vorhanden und wurde nicht gespeichert!");
}
else{
list.add(k);
}
}
public Kreis searchFor(Kreis k){
Iterator <Kreis> iter;
iter = list.iterator();
Kreis temp = new Kreis();
while(iter.hasNext()){
temp = iter.next();
if(temp.getDurchmesser() == k.getDurchmesser()){
System.out.println("Der Kreis wurde gefunden!");
return temp;
}
}
System.out.println("Der Kreis wurde nicht gefunden!");
return k;
}
public void delete(int d){
Kreis k = new Kreis(d);
if(list.remove(k)){
System.out.println("Der Kreis wurde erfolgreich gelöscht!");
}
}
public int alleDurchmesser(){
int sum = 0;
Iterator <Kreis> iter;
iter = list.iterator();
Kreis temp = new Kreis();
while(iter.hasNext()){
temp = iter.next();
sum = sum + temp.getDurchmesser();
}
return sum;
}
public boolean change(Kreis s,int i){
Kreis temp = new Kreis();
Iterator <Kreis>iter;
iter = list.iterator();
int count =0;
while(iter.hasNext()){
temp = iter.next();
count = count++;
if(temp.getDurchmesser() == s.getDurchmesser()){
iter.remove();
Kreis n = new Kreis(i);
list.add(count, n);
return true;
}
}
return false;
}
public static void main(String[] args){
KreisSaver test = new KreisSaver();
Kreis a = new Kreis(2);
Kreis b = new Kreis(2);
Kreis c = new Kreis(5);
test.save(a);
test.save(b);
test.save(c);
test.delete(b);
test.save(b);
test.delete(b);
test.change(a, 7);
test.searchFor(b);
}
}
Die Klasse Kreis beinhaltet nur das attribut private int = durchmesser, mit den get und setter Methoden sowie den beiden Konstruktoren
Vielen Dank für die Hilfe
Zuletzt bearbeitet von einem Moderator: