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 Du damit meinst, warum Du keine Ausgabe (vgl. while-Schleife) erhälts, so liegt das daran, dass Du "ergebnis" mit 0 initialisierst und "restwert" wahrscheinlich in deiner Eingabe größer 0 ist und deine Bedingung somit niemals 'true' ergibt.
Das Programm sieht jetzt so aus:
(Ersetzung ergebnis : kosten)
Allerdings funzt es noch nicht wirklich.
die kosten müssen in der while schleife nach jedem durchlauf durch das vorherige ergebnis ersetzt werden,oder/und wie???? *grübel*
Code:
import java.io.*;
public class Abschreibungen
{
public static void main(String args[]) throws IOException
{
try
{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bitte Anschaffungs-Kosten angeben: ");
String einlesenKosten = input.readLine();
System.out.println("Bitte Abschreibungsdauer angeben: ");
String einlesenDauer = input.readLine();
System.out.println("Bitte Abschreibungsfaktor angeben: ");
String einlesenFaktor = input.readLine();
System.out.println("Bitte den Restwert angeben: ");
String einlesenRestwert = input.readLine();
double ergebnis;
int i = 0;
double kosten = Double.parseDouble(einlesenKosten);
double dauer = Double.parseDouble(einlesenDauer);
double faktor = Double.parseDouble(einlesenFaktor);
double restwert = Double.parseDouble(einlesenRestwert);
while(kosten >= restwert)
{ // diese funktion soll so lange durch geführt werden bis der restwert erreicht ist
// und es muss mitgezählt werden wie oft das passiert ist
ergebnis = kosten - ( kosten * faktor );i++;
System.out.println(i);
System.out.println(ergebnis);
}
}
catch(NumberFormatException e)
{
System.out.println("Bitte nur Zahlen eingeben! ");
}
}
}
das ergebnis der rechten seite der gleichung, soll in die variable kosten eingetragen werde und dann neu berechnet werden.
immer so weiter bis das ergebnis der gleichung >= restwert ist.
mit
"kosten = kosten -(kosten *faktor) siehts schon besser aus!"
import java.io.*;
public class Abschreibungen
{
public static void main(String args[]) throws IOException
{
try
{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bitte Anschaffungs-Kosten angeben: ");
String einlesenKosten = input.readLine();
System.out.println("Bitte Abschreibungsfaktor angeben: ");
String einlesenFaktor = input.readLine();
System.out.println("Bitte den Restwert angeben: ");
String einlesenRestwert = input.readLine();
double ergebnis;
int i = 0;
double kosten = Double.parseDouble(einlesenKosten);
double faktor = Double.parseDouble(einlesenFaktor);
double restwert = Double.parseDouble(einlesenRestwert);
while((kosten - ( kosten * faktor )) > restwert)
{ // diese funktion soll so lange durch geführt werden bis der restwert erreicht ist
// und es muss mitgezählt werden wie oft das passiert ist
kosten = kosten - ( kosten * faktor );i++;
System.out.println(i);
System.out.println(kosten);
}
}
catch(NumberFormatException e)
{
System.out.println("Bitte nur Zahlen eingeben! ");
}
}
}