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.
Habe folgendes Problem das der Befehl System.out.printf zu Fehlern führt die ich nicht erklären kann.
Ist das irgendein Formatierungsproblem?
Bei mir klappt auch system.out.format nicht richtig, wo ich mir sicher bin das es bei anderen klappt.
Java:
public class Bruch{
public int z;
public int n;
public Bruch( int zaehler, int nenner ){
z = zaehler;
n = nenner;
if ( n == 0 ){
Terminal.println( "0 im Nenner ist ungültig!! Es wird jetzt stattdessen 1 verwendet." );
n = 1;
}
}
public void printBruch(){
ensureNegDisplay();
System.out.printf( " %d/%d ", z, n );
}
public void multipliziereMit( Bruch b ){
z *= b.z;
n *= b.n;
for ( int ggt = n; ggt > 1; ggt-- ) // ggt war in der HA nicht gefordert.
if ( (z % ggt == 0) && (n % ggt == 0) ){
z /= ggt;
n /= ggt;
break;
}
}
public void ensureNegDisplay(){
if ( n < 0 ){
n *= -1;
z *= -1;
}
}
}
Hier ist der Fehler:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, int, int)
at Bruch.printBruch(Bruch.java:16)
at BruchTest.main(BruchTest.java:11)
Das meinte ich ja... Eigentlich ist das Code richtig und sollte funktionieren aber bei mir spuckt Eclipse eine Exception aus. Auch bei system.out.format spuckt er Fehler aus im Sinne von
system.out.format is not applicable for the arguments (String, int, int)
welche Version von Java benutzt du?
"printf" gibt es "erst" seit der Version 1.5.
Da du etwas wie "Terminal" benutzt, vermute ich, dass ihr ein System verwendet, das eurer Lehrer/Prof geschrieben hat und das die Ein- und Ausgabe besonders einfach machen soll. Das kann natürlich auch zu Problemen führen ...
Also ich benutze die Java Version 8 update 5 und eclipse hat die Version Eclipse Standard/SDK 2.0.2.20140224-0000 epp.package.standard null
Wie kann man den Fehler beheben?
Heute wieder versuch system.out.format zu benutzen und den Fehler in Eclipse bekommen: Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.
hier die exception: Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method format(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, int, int)
at Übung10.Konto.toString(Konto.java:43)
at Übung10.TestKonto.main(TestKonto.java:18)
Es scheint wohl nicht nur ein fehler in Printf zu sein sondern der Klasse Java.lang oder in Eclipse?
Ich habe nun wie in der Anleitung meinen Compilance Level auf 1.6 gesetzt aber er zeigt mir anstatt dessen den Fehler hier an in der Klasse Konto:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from PrintStream to String
at Übung10.Konto.toString(Konto.java:45)
at Übung10.TestKonto.main(TestKonto.java:18)
Hier der entsprechende Code. in Testkonto wird er nur aufgerufen.
[Java]
public String toString(){
return System.out.format("Der Inhaber des Konto ist: %s/n Die Kontonummer ist: %s/n Der Kontostand ist: %s/n" , name,kontonummer,kontostand);
[/code]
Ich habe erstmal system.out.format nicht benutzt sondern das hier um weiterzukommen:
Java:
public String toString(){
return "Der Inhaber des Konto ist: " + name + "| Die Kontonummer ist : " + kontonummer + " | Die Kontostand ist : " + kontostand;
}