If-Anweisung und Schleife

Status
Nicht offen für weitere Antworten.

anpro

Mitglied
Ich hab 2 Beispiele zu lösen für einen Kurs auf der Uuni, aber ich steh leider an und weiß nicht weiter...vielleicht kann mir ja einer von euch ein paar tips geben bzw. weiter helfen. :oops:
Die Probleme:
--> Wir sollen einen Zinsrechner schreiben, der Schleifen verwendet. Das Programm soll folgende Ausgabe erzeugen:
Zu Beginn befinden sich 10000 Euro auf dem Konto
Dieser Betrag wird 10 Jahre lang mit 5% verzinst.
Jahr 0: 10000.0
Jahr 1: 10500.0
Jahr 2: 11025.0
Jahr 3: 11576.250000000002
Jahr 4: 12155.062500000002
Jahr 5: 12762.815625000003
Jahr 6: 13400.956406250005
Jahr 7: 14071.004226562505
Jahr 8: 14774.55443789063
Jahr 9: 15513.282159785162
Jahr 10: 16288.946267774423

Dann ist noch angegeben:
Zur Hilfe könnt Ihr in der Java API die Library Math ( die
Methode static double pow(double a,double b) nachschlagen.
Formel für die Zinsrechnung: Kn=Ko * 1/qn

Hier stehe ich nun mit meinenm kläglichen Versuch an(ich weiß leider nicht wo und wie ich die Formel einbauen muss):

Code:
public class schleife1 {
  public static void main (String[]args){
 {
     int zielWert = 10;
	for (int i=10000;i<=zielWert;i++) {
            System.out.println(i + " mit 5% verzinst ergibt: " + (i++));
	
		}
    }
}
}

-->Beim nächsten Beispiel sollen wir mit einer if-ANeisung 3 Matrikelnummern vergleichen von denen nur eine richtig ist. Hier sind nun 2 verschiedene Varianten von mir(ich scheitere glaub ich schon an der Deklaration einer matrikelnummer):

Code:
class Matrikelnummer {

public static void main(String[] arguments){ 

int Matrikelnummer=h0024664;


if  (Matrikelnummer== "h0024664")
	System.out.println("true");
else
  if (Matrikelnummer == "h9943253")
    	System.out.println("wrong");
  else
    if (Matrikelnummer == "h0343453" )
        System.out.println("wrong");
    

/* bitte geben Sie eine if Anweisung an zum Vergleichen, ob 
die vergleichende matrikelnummer gegeben ist (true bzw. 
false). */ 

	} 
}
   class Hausuebung3 {
	public static void main (String[]args)
{

	String Matrikelnummer=h0024664;

        if (matrikelnummer == h9943253) System.out.println ("true");
        else if (matrikelnummer == h0024664) System.out.println("false");
	else System.out.println("ok");


/* bitte geben Sie eine if Anweisung an zum Vergleichen, ob 
die vergleichende matrikelnummer gegeben ist (true bzw. 
false). */ 

	}
}


Ich wäre euch für Hilfe und Hinweise jeglicher Art sehr sehr dankbar!!!!

[Edit by Beni: Codetags]
 

lama

Mitglied
Hallo!

Die Potenzrechnung (Math.pow) brauchst du nicht für diese Zinsrechnung. Hier findest du die Formel, die du brauchst: http://www.mathe1.de/mathematikbuch/prozentzins_zinsrechnung_9.htm

Und so könnte das in Java aussehen:
Code:
        // ...

		double kapital = 10000d;
		double p = 5; // 5% Zinssatz
		double jahreszins;

        // ...

            // in der for-Schleife:
			jahreszins = kapital * p / 100;
			kapital += jahreszins; // kapital = kapital + jahreszins
			System.out.println((i+1)+". Jahr: "+kapital);   // i ist die Schleifenvariable

Zu der zweiten Aufgabe:
Da hast du schon ganz richtig gedacht, dass es nicht funktioniert, hat aber zwei logische Gründe:

1.)
int Matrikelnummer=h0024664;
Matrikelnummer soll keine Zahl sein, sondern ein String (Zeichenkette). Daher gehört das "h" logischerweise nicht dort hinein.
Demnach wäre: String nummer = "h0024664"; richtig.

2.) Strings wiederum kann man nicht auf Gleichheit prüfen, da es sich hier um eine Referenz handelt. Netterweise hat Java da aber eine eigene Methode für:

Code:
if (nummer.equals("h0024664"))
    System.out.println("Richtige Nummer!");
else
    System.out.println("Nicht korrekt!");

EDIT: Na, hier ist aber was los!
 

TorstenW

Mitglied
Normal mache Ich keine Hausaufgaben aber ich habe heute einen guten Tag :)

Code:
/**
 * @author Wetekam
 *
 * Version on 30.10.2008
 * 
 */
public class Schleife1 {

	public static void main(String[] args) {
		
		int jahre = 10;
		double zahl = 10000;
		
		for (int i=0;i<=jahre;i++){
			System.out.println("Jahr "+i+": "+zahl);
			zahl = (double) (zahl*1.05);
		}
	}
}


Den rest machst du aber schön alleine Lesen bildet :)

:) gleichzeitig geantwortet naja jetzt sollte er wenigstens für die erste Aufgabe genug Infos haben. :)
 

Templon

Bekanntes Mitglied
Zu der ersten Aufgabe:

Code:
public class Test2 {
	public static void main(String[] args) {
		double betrag = 10000;
		// 10 Jahre (+ das erste Jahr, in welchem noch kein Zins verrechnet wird)
		for (int i = 0; i <= 10; ++i) {
			System.out.println("Jahr " + i + ": " + betrag);
			// 5% Zins
			betrag *= 1.05;
		}
	}
}

Zu der anderen Aufgabe, Strings schreibt man in Anführungszeichen. Also:

Code:
String martikelNummer = "h0024664";

und dann mit == oder equals verglichen:

Code:
if (martikelNummer == "h0090134") // Irgendwas machen hier
 
G

Gast

Gast
Vielen Vielen Dank für eure rasche Antworten und zum Glück habt ihr alle einen guten Tag!!!:))))
Jetzt hab ich auch einen viel besseren Tag!!!
 

lama

Mitglied

Templon

Bekanntes Mitglied
lama hat gesagt.:
Danke für die Info, das wusste ich noch gar nicht! Trotzdem würde ich vorsichtshalber immer mit equals() vergleichen, bevor sich ein Fehler einschleicht, den dann im Nachhinein niemand mehr findet.

Joa, wenn der String mit new angelegt wurde, kommt er auch nicht in den Stringpool. Dann funktioniert es nur noch mit equals().
 

Marco13

Top Contributor
Templon hat gesagt.:
und dann mit == oder equals verglichen:


:noe: :noe: :noe: Strings IMMER mit equals vergleichen! (Der StringPool ist vermutlich sogar implementierungsspezifisch - d.h. es gibt soweit ich weiß keine Garantie, dass Vergleiche mit == auf einer anderen JVM (oder auch schon auf einer "neueren" JVM von Sun) funktionieren!
 
M

Monika J

Gast
Der StringPool ist vermutlich sogar implementierungsspezifisch - d.h. es gibt soweit ich weiß keine Garantie, dass Vergleiche mit == auf einer anderen JVM (oder auch schon auf einer "neueren" JVM von Sun) funktionieren!
Da liegst du falsch, das ist Teil der Javasprachspezifikation, siehe The Java Language Specification - 3.10.5 String Literals.

Es ist trotzdem eine gute Empfehlung, Strings immer mit equals zu vergleichen, zumindest für Anfänger, die sonst all zu leicht Fehler einbauen.
 

Marco13

Top Contributor
Als ich das geschrieben habe gab es ja nur die "First edition", da stand das noch nicht so drin :bae:
( :joke: )
 

Marco13

Top Contributor
Eigentlich war das nur eine Anspielung auf die Threadleichenschändung. Ich habe die JLS noch nicht ganz auswendig gelernt. Trotzdem sollte man Strings mit "equals" vergleichen, weil sonst bei kleinen oder größeren (refactorisierenden) Änderungen schwer auffindbare Fehler entstehen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J If Anweisung in Schleife einbinden Java Basics - Anfänger-Themen 7
A for-Schleife, if-Anweisung Java Basics - Anfänger-Themen 4
R Erste Schritte Schleife erzeugen (mit If Anweisung) Java Basics - Anfänger-Themen 3
A if Anweisung in Schleife Java Basics - Anfänger-Themen 10
T Schleife mit return Anweisung Java Basics - Anfänger-Themen 3
G if Anweisung ohne for schleife Java Basics - Anfänger-Themen 3
T If anweisung Java Basics - Anfänger-Themen 5
C Scanner und If-Anweisung in Kombi Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
B break Anweisung Java Basics - Anfänger-Themen 13
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
H Cäsar chiffrierung ohne if-Anweisung Java Basics - Anfänger-Themen 5
D kann man vor dem CSVRecord, replace Anweisung anwenden ? Java Basics - Anfänger-Themen 2
B Erste Schritte if Anweisung mit Wert Übernahme Java Basics - Anfänger-Themen 3
C Anweisung Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
W Warum funktioniert meine if Anweisung nicht? Java Basics - Anfänger-Themen 8
K if Anweisung Java Basics - Anfänger-Themen 3
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
V Erste Schritte Warum geht meine continue Anweisung nicht? Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert [SQL] SQL als Anweisung mit Spezial-Fall EclipseEclipse Java Basics - Anfänger-Themen 8
JavaNewbie2.0 Zur Anweisung zurück Java Basics - Anfänger-Themen 13
J Erste Schritte Vorsicht Spaghetti-Code! Wie verschachtel ich meine If-Anweisung??? Java Basics - Anfänger-Themen 4
L if-Anweisung Java Basics - Anfänger-Themen 5
DontFeedTheTroll Erste Schritte Verständnisfrage zu If-Anweisung Java Basics - Anfänger-Themen 7
P Erste Schritte Taschenrechner mit if-else Anweisung Java Basics - Anfänger-Themen 6
Q Variablen If Anweisung, kleiner fehler Java Basics - Anfänger-Themen 8
M Probleme mit Anzeigen von String in GUI und if-Anweisung Java Basics - Anfänger-Themen 9
L If Anweisung mit ArrayList Probleme Java Basics - Anfänger-Themen 6
OlafHD String in einer If-Anweisung Vergleichen Java Basics - Anfänger-Themen 2
N Rekursion mit if-Anweisung Java Basics - Anfänger-Themen 10
P if anweisung Java Basics - Anfänger-Themen 8
L Frage zur while Anweisung Java Basics - Anfänger-Themen 10
F Return-Anweisung Java Basics - Anfänger-Themen 2
B If-anweisung per ja eingabe. Java Basics - Anfänger-Themen 2
C Variablen if Anweisung falsch gesetzt Java Basics - Anfänger-Themen 4
1 Bei if-Anweisung: Syntax error on token Java Basics - Anfänger-Themen 5
A if - Anweisung Java Basics - Anfänger-Themen 6
P Bei Switch-Anweisung wird default-Anweisung angezeigt Java Basics - Anfänger-Themen 4
M if, else Anweisung Java Basics - Anfänger-Themen 3
O This in switch anweisung Java Basics - Anfänger-Themen 5
M Throws Anweisung innerhalb eines Methodenkopfes unklar Java Basics - Anfänger-Themen 4
F Erste Schritte Switch case vs. Verschachtelte If Anweisung Java Basics - Anfänger-Themen 11
M If-Anweisung (Objekt nachdem es gegessen wurde, mehrmals auftauchen lassen) Java Basics - Anfänger-Themen 3
F Fehler in der Swich-Anweisung aber Warum? Java Basics - Anfänger-Themen 4
A if-Anweisung zwischen zwei Punkten Java Basics - Anfänger-Themen 1
T Problem mit IF-Anweisung. Java Basics - Anfänger-Themen 3
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
W return-Anweisung gibt nichts aus Java Basics - Anfänger-Themen 5
H Leere Anweisung Java Basics - Anfänger-Themen 24
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
F Reset in der switch Anweisung Java Basics - Anfänger-Themen 3
V Frage zur IF Anweisung Java Basics - Anfänger-Themen 40
Bluedaishi Klassen Thread über if Anweisung starten und von anderer Klassen über Button Beenden Java Basics - Anfänger-Themen 34
H Worauf bezieht sich die erste else-Anweisung Java Basics - Anfänger-Themen 9
H Verständnisfrage für oder Anweisung Java Basics - Anfänger-Themen 8
D Denkfehler in der If-Anweisung Java Basics - Anfänger-Themen 3
K if anweisung Java Basics - Anfänger-Themen 13
M Erste Schritte Break-Anweisung bei if-else Java Basics - Anfänger-Themen 6
T Erste Schritte switch case Anweisung und if else Verzweigungen? Java Basics - Anfänger-Themen 6
S probleme mit der return anweisung Java Basics - Anfänger-Themen 20
K Methoden while Anweisung Java Basics - Anfänger-Themen 81
D Frage zu der import Anweisung in Java Java Basics - Anfänger-Themen 15
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
W "switch" Anweisung - Rechenzeichen? Java Basics - Anfänger-Themen 5
I Methoden Wochenkalendar switch anweisung fehlt Java Basics - Anfänger-Themen 4
D Verschachtelte IF-Anweisung Java Basics - Anfänger-Themen 10
C If-Anweisung Java Basics - Anfänger-Themen 22
C Switch Anweisung Frage Java Basics - Anfänger-Themen 8
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
Luk10 Frage zu Switch-Anweisung Java Basics - Anfänger-Themen 11
C Umgebungsvariable import anweisung gibt fehlermeldung Java Basics - Anfänger-Themen 2
C Erste Schritte switch Anweisung geht nicht Java Basics - Anfänger-Themen 3
R fif-Anweisung funktioniert nicht wie erwartet Java Basics - Anfänger-Themen 11
B IF-Anweisung hat einen Fehler Java Basics - Anfänger-Themen 5
C unklare anweisung Java Basics - Anfänger-Themen 11
F if Anweisung mit Rückgabewert? Java Basics - Anfänger-Themen 4
C Problem bei if-anweisung Java Basics - Anfänger-Themen 8
J print-Anweisung verschluckt Java Basics - Anfänger-Themen 3
K return-Anweisung am Beispiel eines Palindroms Java Basics - Anfänger-Themen 18
F Problem bei if-Anweisung Java Basics - Anfänger-Themen 5
J Switch mit if anweisung kombinieren Java Basics - Anfänger-Themen 2
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
R Return Anweisung übergibt Variablen nicht Java Basics - Anfänger-Themen 4
W Problem While-Anweisung Java Basics - Anfänger-Themen 6
S import - Anweisung; Setzen der Classpath Java Basics - Anfänger-Themen 2
E IF Anweisung mit logischen Operatoren Java Basics - Anfänger-Themen 18
B problem mit der return anweisung Java Basics - Anfänger-Themen 11
M '-1' in switch anweisung Java Basics - Anfänger-Themen 2
B import Anweisung Java Basics - Anfänger-Themen 2
A Super-Anweisung in abstrakter Klasse Java Basics - Anfänger-Themen 12
S OOP This anweisung Java Basics - Anfänger-Themen 6
B fehlende return anweisung? Java Basics - Anfänger-Themen 17
A Return Anweisung von Methoden Java Basics - Anfänger-Themen 15
L Verstehe den Wert nicht! If-Anweisung Java Basics - Anfänger-Themen 5
J Was genau davon ist Anweisung, was Deklaration? Java Basics - Anfänger-Themen 2
S SQL Anweisung mittels PreparedStatement Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben