Fragen zu System.out.print und charAt

Hallo ,

Ich hab 2 wichtige Fragen & zwar zu 1.: System.out.printf

Auf dem "Arbeitsblatt" steht folgendes:
Variablenliste: Die Variablenliste wird in formatierter Form auf dem Bildschirm ausgegeben. Der Cursor bleibt auf dem Bildschirm nach der Ausgabe stehen, Zeilenvorschübe müssen durch Platzhalterzeichen erzwungen werden.
Formatierungszeichenkette: In Gänsefüßchen eingschlossen werden der auszugebende konstante Text sowie Platzhalter für die Variablen der Variablenliste & Zeilenvorschübe angegeben.

Platzhalter: %n -neue Zeile
%4d -Ganze Zahhl, die inges 4 Stellen rechtsbündig steht
%10.2f -Gleitkommazahl, die insgesamt 10 Stellen mit 2 Nachkommastellen rechtsbündig steht
%10s - Zeichenkette, die insge 10 Stellen rechtsbündig steht

Ein Bsp. dazu:

Java:
import java.io.*;		// für die java-spezifische Ein- und Ausgabe

public class erloeskostengewinn

extends getxx 		// für die münster-spezifischen Eingaberoutinen

{
    public static void main(String args[]) throws IOException
    {

	int anz, i;
	String [] status = new String[51];
	String [] name = new String[51];
    double [] erloes = new double[51];
	double [] kosten = new double[51];
	double [] gewinn = new double[51];
	double [] provision = new double[51];
    // Ein Vektor mit 50 Elementen ist von 0 bis 49 indiziert.
    // Um den Index 50 zu ermöglichen, wird 51 bei der Dimensionierung angegeben

    double ges_gew, ges_prov;
    char antwort;
    
	// ********** Eingabebereich **********
	antwort = 'J'; 
	i = 0;
	while ((antwort == 'J') && (i <= 50)) // i<=50, weil erst DANACH i erhöht wird und somit max. 51 erreicht
    	{
    	i++;
    	System.out.print("Name    : "); name[i] = getString();
    	System.out.print("Erloese : "); erloes[i] = getDouble();
    	System.out.print("Kosten  : "); kosten[i] = getDouble();
    	System.out.println();
    	System.out.print("Noch ein Mitarbeiter (J/N) ");
                  antwort = getString().toUpperCase().charAt(0);
    	System.out.println();
    	}

	// ********* Verarbeitungsbereich **********
	anz = i;
	ges_gew=0.0; ges_prov=0.0;
	for (i=1; i<=anz; i++) 
    	{
    	gewinn[i]=erloes[i]-kosten[i];
    	if (gewinn[i]>=50000)
        	{
			status[i]="Guter Gewinn";
        	provision[i]=gewinn[i]*15.0/100.0;
        	}
    	else
        	{
    		if (gewinn[i]>0)
    	    	{         
				status[i]="Gewinn";
            	provision[i]=gewinn[i]*10.0/100.0;
            	}
        	else
            	{
            	if (gewinn[i]==0)
                	{
                	status[i]="Null";
                	provision[i]=0.0;
                	}
            	else
                	{
                	status[i]="Verlust";
                	provision[i]=0.0;
                	}
            	}
        	}
		ges_gew=ges_gew+gewinn[i];
		ges_prov=ges_prov+provision[i];
		}

	// ********** Ausgabebereich ********** 
	System.out.println(); System.out.println();
	System.out.println("      Name    Erloes    Kosten    Gewinn       Status  Provision");
	System.out.println("================================================================");
	for (i=1; i<=anz; i++)
    	{
  		System.out.printf("%10s %9.2f %9.2f %9.2f %13s %9.2f %n",
  			name[i], erloes[i], kosten[i], gewinn[i], status[i], provision[i]);
		}
	System.out.println("----------------------------------------------------------------");
	System.out.printf("Gesamtgewinn:                  %9.2f Provisionen:  %9.2f",ges_gew,ges_prov);
	System.out.println();
	}
}

Ich kann mir leider überhaupt nicht begreiflich machen, was das bedeuten soll. Kann es mir bitte jemand in "nicht-Computer-Sprache" erklären?

2.

Java:
/*
Aufgabenstellung:
   Ermittlung des Kontostandes am Ende der Zinsperiode bei gegebenem
   Zinssatz und Anfangskapital
   Unterschiedliche Soll- und Habenzinssätze sind zu berücksichtigen.

   Die Ermittlung ist für mehrere Konten vorzunehmen, wobei Soll-
   und Habenzins nur einmalig einzugeben sind.

   Am Ende ist anzuzeigen, wie viele Soll- und wie viele Habenkonten
   behandelt wurden (absolut und in Prozent) sowie jeweils die Summe der
   entsprechenden Beträge.


Variablenliste:

   Habenzinssatz in %     numerisch, Gleitkomma      zinssatz_haben
   Sollzinssatz in %      numerisch, Gleitkomma      zinssatz_soll
   Anfangskapital         numerisch, Gleitkomma      k0
   Endkapital             numerisch, Gleitkomma      k1
   Kontobezeichnung       alphanumerisch             kontobezeichnung
   Antwort                alphanumerisch             antwort
   Anzahl Sollkonten      numerisch, Festkomma       anz_soll
   Anzahl Habenkonten     numerisch, Festkomma       anz_haben
   Prozent Sollkonten     numerisch, Gleitkomma      proz_soll
   Prozent Habenkonten    numerisch, Gleitkomma      proz_haben
   Summe Sollkonten       numerisch, Gleitkomma      summe_soll
   Summe Habenkonten      numerisch, Gleitkomma      summe_haben


Struktogramm:

   +----------------------------------------------+
   | Eingabe zinssatz_haben, zinssatz_soll        |
   +----------------------------------------------+
   | anz_soll=0; anz_haben=0;                     |
   +----------------------------------------------+
   | summe_soll=0.0; summe_haben=0.0;             |
   +----------------------------------------------+
   | antwort='J'                                  |
   +----------------------------------------------+
   | Solange antwort=='J'                         |
   |  +-------------------------------------------+
   |  | Eingabe kontobezeichnung, k0              |
   |  +-------------------------------------------+
   |  | \                k0 > 0 ?               / |
   |  | J \                                   / N |
   |  +---------------------+---------------------+
   |  | k1 = k0 * (1 +      | k1 = k0 * (1 +      |
   |  | (zinssatz_haben/100)| (zinssatz_soll/100) |
   |  +---------------------+---------------------+
   |  | anz_haben + 1       | anz_soll + 1        |
   |  +---------------------+---------------------+
   |  | summe_haben + k0    | summe_soll + k0     |
   |  +---------------------+---------------------+
   |  | Ausgabe kontobezeichnung, k1              |
   |  +-------------------------------------------+
   |  | Ausgabe Frage, Eingabe antwort            |
   +--+-------------------------------------------+
   | proz_soll=anz_soll/(anz_soll+anz_haben)*100  |
   +----------------------------------------------+
   | proz_haben=anz_haben/(anz_soll+anz_haben)*100|
   +----------------------------------------------+
   | Ausgabe anz_soll, anz_haben                  |
   +----------------------------------------------+
   | Ausgabe proz_soll, proz_haben                |
   +----------------------------------------------+
   | Ausgabe summe_soll, summe_haben              |
   +----------------------------------------------+


*/

import java.io.*;		// für die java-spezifische Ein- und Ausgabe

public class konto11

	extends getxx 		// für die münster-spezifischen Eingaberoutinen

	{

    public static void main(String args[]) throws IOException {

	double zinssatz_haben, zinssatz_soll;
	double k0, k1;
    String kontobezeichnung;
    char antwort;   // nur ein Buchstabe 
    int anz_soll, anz_haben;
    double proz_soll, proz_haben;
    double summe_soll, summe_haben;

	System.out.print("Habenzinssatz in Prozent...... "); zinssatz_haben = getDouble();
	System.out.print("Sollzinssatz in Prozent....... "); zinssatz_soll = getDouble();
	anz_soll=0; anz_haben=0;
	summe_soll=0.0; summe_haben=0.0;

	antwort = 'J';
	while (antwort == 'J') 
		{	
		System.out.println();
		System.out.print("Kontobezeichnung.............. "); kontobezeichnung = getString();
		System.out.print("Kapital zu Beginn............. "); k0 = getDouble();
		if (k0 > 0)
			{
			k1 = k0 * (1 + zinssatz_haben / 100);
	        anz_haben = anz_haben + 1;			// auch anzhaben++; möglich
	        summe_haben = summe_haben + k0;
			}
		else
			{
			k1 = k0 * (1 + zinssatz_soll / 100);
	        anz_soll = anz_soll + 1;			// auch anzsoll++; möglich
    	    summe_soll = summe_soll + k0;
			}
		System.out.println();
		System.out.printf("Konto:              %10s%nKontostand am Ende: %10.2f%n%n",
					kontobezeichnung, k1);
	
		System.out.print("Noch ein Konto (J/N)... "); antwort = getString().charAt(0);
		System.out.println();
		}
    proz_soll = (double) anz_soll / (anz_soll + anz_haben) * 100;
    proz_haben = (double) anz_haben / (anz_soll + anz_haben) * 100;
    // ACHTUNG: ohne (double) wird der Quotient erst wieder in INT umgewandelt,
    //          bevor er in die double-Variable eingetragen wird,
    //          d.h. es käme stets 0 als Prozentwert heraus
    
    System.out.println(); System.out.println();
    System.out.printf("Anzahl Sollkonten: %d   in %%: %6.1f%n",anz_soll, proz_soll);
    System.out.printf("Anzahl Habenkonten:%d   in %%: %6.1f%n",anz_haben, proz_haben);
    System.out.printf("Summe Betrag Sollkonten: %10.2f%n", summe_soll);
    System.out.printf("Summe Betrag Habenkonten:%10.2f%n", summe_haben);
    
    }
}

Frage: antwort = getString().charAt(0);
String ist hier doch eigentlich die Kontobezeichnung. Auf welche Zeichenkette bezieht sich denn hier charAt(0) ? Etwa auf das J aus (J/N)? Falls ja, warum ist das so? Kann mir das bitte jemand noch einmal an einem Beispiel erklären?


Okay, das ist jetzt alles ziemlich lang geworden. & für euch sind das sicherlich lächerliche Fragen.. aber ich arbeite erst seit gestern mit Java. Als bitte Verständnis ;)

Ganz liebe Grüße & Dankeschön im Voraus! :)
Anna
 
S

SlaterB

Gast
getString() ist anscheinend eine Methode der Klasse getxx // für die münster-spezifischen Eingaberoutinen
getString() liefert die Eingabe des Users, die je nach tipp-da-tipp z.B. "J" ist, und chartAt(0) das erste Zeichen davon

----

was genau meinst du bei der ersten Frage? jede einzelne der 88 Programmzeilen wird wohl niemand erklären..
 
Guten Morgen..
es geht wie oben schon gesagt, um den System.out.printf Befehl. Wie wählt man denn diese Platzhalter aus? Zählt man dazu einfach von links nach rechts die Stellen ab?

Den charAt(0) verstehe ich irgendwie immernoch nicht? :bahnhof: Kannst du mir dazu vll ein Beispiel nennen?
LG !
 
S

SlaterB

Gast
"abc"
charAt(0) ist 'a'
charAt(1) ist 'b'
charAt(2) bitte raten oder testen..

bei printf muss man die Parameter am Ende in Reihenfolge passend zum Formatierungstring angeben, richtig,
in dem Beispiel steht jedes % im Sptring für einen Parameter, bei den % stehen auch noch Formatierungsinformationen,
allgemein kann man sowas z.B. bei google genauer finden

Google
->
Formatted Printing for Java (sprintf)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L fragen zu arrays Java Basics - Anfänger-Themen 8
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
Anfänger2011 2 kleine Fragen zu ArrayListen Java Basics - Anfänger-Themen 5
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
H grundlegende Fragen Java Basics - Anfänger-Themen 3
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
N Programm: Fragen beantworten Java Basics - Anfänger-Themen 6
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
D Rekursion Allgemeine Fragen Java Basics - Anfänger-Themen 2
D [Fragen] zu Methoden Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
T Ein paar Fragen zu OOP und Java. Java Basics - Anfänger-Themen 16
J Allgemeine Fragen zur GUI Java Basics - Anfänger-Themen 1
johnnydoe Erste Schritte Erster Blick - erste Fragen Java Basics - Anfänger-Themen 11
DStrohma Grundsätzliche Fragen zu Drag & Drop Java Basics - Anfänger-Themen 1
N Klassen fragen zur getter und setter methode Java Basics - Anfänger-Themen 11
S 3 Fragen, Verzeichnis, GridLayout psoitionieren, Werte für JSpinner Java Basics - Anfänger-Themen 2
T Fragen zu Set / Relationen verknüpfen Java Basics - Anfänger-Themen 4
S 2 Fragen Java Basics - Anfänger-Themen 4
S Hallo und Fragen zu Arbeitsverzeichnis und Menü Java Basics - Anfänger-Themen 8
N Java Fragen... Java Basics - Anfänger-Themen 10
F ExecutorService Fragen! Java Basics - Anfänger-Themen 2
O HashMap Fragen Java Basics - Anfänger-Themen 8
C Fragen zu Arrays Java Basics - Anfänger-Themen 19
T viele "kleine" Fragen... Java Basics - Anfänger-Themen 3
S Fragen zur Implementierung eines Adressbuches Java Basics - Anfänger-Themen 20
S Fragen zu Arrays Java Basics - Anfänger-Themen 6
K Diverse Fragen zum Fehlerlogging Java Basics - Anfänger-Themen 9
N StringReader - Fragen Java Basics - Anfänger-Themen 8
C Einige Fragen zu Frames Java Basics - Anfänger-Themen 7
M Erste Schritte Allgemeine Fragen Java Basics - Anfänger-Themen 4
PaulG Fragen zu Binärbaum Java Basics - Anfänger-Themen 21
P Methoden Aquarium (Fragen zum Scanner) Java Basics - Anfänger-Themen 5
T Erste Schritte Fragen zu meinen kleinen Programm Java Basics - Anfänger-Themen 9
D 2 Fragen: Position ändern vs. LayoutManager / Bilder einfügen im Vordergrund Java Basics - Anfänger-Themen 3
O Zwei Fragen zu Methoden Aufrufen Java Basics - Anfänger-Themen 5
B fragen zur for-schleife und arrays Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben