Util.class Prob

Status
Nicht offen für weitere Antworten.

javafreak1986

Mitglied
halllihallo!

hab mich nun schon ein wenig weiter vor gewagt und mich an eine util class getraut. funktioniert auchschon ganz wunderbar bis auf eine kleinigkeit --> und zwar hab ich 3 variablen (1 int, 1 long, 1 double) definiert.

wenn ich aber das prog ausführe fragt er 2 mal nach Int und erst dann nach double ?!

habs jetz so umgeschrieben wie es eigentlich funken müsste nur streikt jetzt auch mein compiler!


um hilfe eurerseits wird gebeten ! vielen dank schon im vorraus

PS: das prob liegt bei der variable sv. das andere passt.


hier der prog code:

Code:
public class Nettogehaltdeluxe {

	public static void main(String[] args) {

		// Dieses Programm baut auf einem seiner Vorgängermodelle auf, nur etwas komplizierter und diesal unter 
		// Verwendung der Util.read Class
		// Es geht hierbei darum ein Programm zu generieren, bei dem es dem Benutzer möglich ist, aufgrund seiner
		// Werteingaben sein ganz persönliches Nettogehalt auszurechnen.

		// Variablen deklarieren
		int bg;
		long sv;
		double ls;
		float ng;

		// Hier soll der Benutzer einen Wert einer Ganzzahl eingeben, der seinem Bruttogehalt entspricht!
		bg = Util.readInt();
		
		// Hier soll der Benutzer einen Wert einer Ganzzahl eingeben, die der aktuellen Sozialversicherung entspricht!
		// (Es wird davon ausgegangen, dass dieser Wert keine Decimalzahl ist!)
		sv = Util.readLong();
		
		// Hier soll der Benutzer einen Wert einer Dezimalzahl eingeben, die der aktuellen Lohnsteuer entspricht!
		// (Es wird davon ausgegangen, dass dieser Wert keine Ganzzahl ist!)
		ls = Util.readDouble();
		

		

		// Kontrolle des eingegebenen Bruttogehalts:
		System.out.println("Sie habe diesen Wert als Bruttogehalt eingegeben: " + bg);
		
	
		
		// Kontrolle des eingegebenen SV-Steuersatzes:
		System.out.println("Dieser Wert entspricht dem von ihnen eingegebenen SV-Steuersatz: " + sv);

		// Kontrolle des eingegebenen Lohnsteuersatzes:
		System.out.println("Dieser Wert entspricht dem von ihnen eingegebenen Lohnsteuersatz: " + ls);
		
	}

}


und hier der code der util.java datei:

Code:
public class Util {
	private static String readString() {
		try {
			return new java.io.BufferedReader(new java.io.InputStreamReader(System.in)).readLine();
		} catch (java.io.IOException e) {
			throw new RuntimeException(e);
		}

	}

	public static int readInt() {
		while (true) {
			System.out.print("Bitte geben Sie hier ihr Bruttogehalt OHNE Dezimalstellen ein: ");
			String s = readString();
			try {
				return Integer.parseInt(s.trim());
			} catch (NumberFormatException e) {
				System.out.println("'" + s + "' ist keine Ganzzahl.");
			}
		}
	}

	
	public static long readLong() {
		while (true) {
			System.out.print("Bitte geben Sie hier ihren Sozialversicherungssatz OHNE Dezimalstellen ein: ");
			String s = readString();
			try {
				return Long.parseLong(s.trim());
			} catch (NumberFormatException e) {
				System.out.println("'" + s + "' ist keine Ganzzahl.");
			}
		}
	}
	
	
	
	public static double readDouble() {
		while (true) {
			System.out.print("Bitte geben Sie hier den aktuellen Lohnsteuersatz als Dezimalzahl ein: ");
			String s = readString();
			try {
				return Double.parseDouble(s.trim());
			} catch (NumberFormatException e) {
				System.out.println("'" + s + "' ist keine Dezimalzahl.");
			}
		}
	}
}
 

merxleben

Aktives Mitglied
Hi,

hab das gerade mal gestest, und kann dein Problem nicht nachvollziehen.

Was passiert bei dir genau, und welches Verhalten erwartest du.

Martin
 

merxleben

Aktives Mitglied
Hi,

folgendes produziert dein Programm bei mir:

Code:
~/src/java$ java Nettogehaltdeluxe
Bitte geben Sie hier ihr Bruttogehalt OHNE Dezimalstellen ein: 1
Bitte geben Sie hier ihren Sozialversicherungssatz OHNE Dezimalstellen ein: 2
Bitte geben Sie hier den aktuellen Lohnsteuersatz als Dezimalzahl ein: 3
Sie habe diesen Wert als Bruttogehalt eingegeben: 1
Dieser Wert entspricht dem von ihnen eingegebenen SV-Steuersatz: 2
Dieser Wert entspricht dem von ihnen eingegebenen Lohnsteuersatz: 3.0

Aber mal ein paar Worte zum Quelltext selber. Der Ansatz spezielle Funktionalität in separate Klassen auszulagern ist erstmal sinnvoll. Aber die Bezeichnung der Methoden ist doch sehr eigenwillig. Du nennst eine Methode readInt und fragst darin das Bruttogehalt ab. Das ist in meinen Augen nicht besonders sinnvoll. Entweder du benennst die Methode in readBruttoGehalt um, oder was in meiner Meinung nach besser wäre, du läßt den Namen readInt und erweiterst die Methode um einen Parameter message. Dieser message wird als Eingabeaufforderung ausgegeben. In beiden siehst du beim Aufruf sofort, was du machst.

Weiterhin, wähle für deine Variablen bessere Namen. Zum Beispiel bg, ist das jetzt bruttogehalt oder background. In deinem kurzen Quelltext mag das noch gehen, aber sobald die Klassen oder Methoden größer werden kann es da schnell zu Problemen kommen.

Nur mal so als Anmerkung

Martin
 

javafreak1986

Mitglied
danke erstmal für deine konstruktive kritik!

mein hauptproblem ist aber momentan dass es mir mein compiler so ausgibt




Bitte geben Sie hier ihr Bruttogehalt OHNE Dezimalstellen ein:
Bitte geben Sie hier ihr Bruttogehalt OHNE Dezimalstellen ein:
Bitte geben Sie hier den aktuellen Lohnsteuersatz als Dezimalzahl ein:
Sie habe diesen Wert als Bruttogehalt eingegeben:
Dieser Wert entspricht dem von ihnen eingegebenen SV-Steuersatz:
Dieser Wert entspricht dem von ihnen eingegebenen Lohnsteuersatz:


und ich weis nicht wieso.
 

merxleben

Aktives Mitglied
Hi,

liefere mal das Ergebnis eines konkreten Durchlaufs und gib mal für alle drei Eingaben unterschiedliche Werte ein.

Ich vermute jetzt mal ins blaue, daß in deinem aktuellen Quelltext zweimal der Aufruf readInt steht.

Martin
 

javafreak1986

Mitglied
diese Fehlermeldung kommt beim compilieren:

Code:
D:\FH\FH-GEGENSTÄNDE\PROGRAMMIEREN-ÜBUNG\java>javac Nettogehaltdeluxe.java
Nettogehaltdeluxe.java:21: cannot find symbol
symbol  : method readLong()
location: class Util
      sv = Util.readLong();
               ^
1 error


und beim ausführen fragt er dann bei mir in der zweiten zeile eben nocheinmal nach dem bruttogehalt was er ja nicht soll:

Code:
D:\FH\FH-GEGENSTÄNDE\PROGRAMMIEREN-ÜBUNG\java>java Nettogehaltdeluxe
Bitte geben Sie hier den aktuellen Lohnsteuersatz als Dezimalzahl ein: 1
Bitte geben Sie hier den aktuellen Lohnsteuersatz als Dezimalzahl ein: 2
Bitte geben Sie hier den aktuellen Lohnsteuersatz als Dezimalzahl ein: 3
Sie habe diesen Wert als Bruttogehalt eingegeben: 1.0
Dieser Wert entspricht dem von ihnen eingegebenen SV-Steuersatz: 2.0
Dieser Wert entspricht dem von ihnen eingegebenen Lohnsteuersatz: 3.0
Dies ist der Wert ihres Nettogehaltes: 0.95

bzw. nun fragt er nur mehr nach dem Lohnsteuersatz...omg ich kenn mich nima aus ...



hier nochmal der util.class code:


Code:
public class Util { 
   private static String readString() { 
      try { 
         return new java.io.BufferedReader(new java.io.InputStreamReader(System.in)).readLine(); 
      } catch (java.io.IOException e) { 
         throw new RuntimeException(e); 
      } 

   } 

   public static int readInt() { 
      while (true) { 
         System.out.print("Bitte geben Sie hier ihr Bruttogehalt OHNE Dezimalstellen ein: "); 
         String s = readString(); 
         try { 
            return Integer.parseInt(s.trim()); 
         } catch (NumberFormatException e) { 
            System.out.println("'" + s + "' ist keine Ganzzahl."); 
         } 
      } 
   } 

    
   public static long readLong() { 
      while (true) { 
         System.out.print("Bitte geben Sie hier ihren Sozialversicherungssatz OHNE Dezimalstellen ein: "); 
         String s = readString(); 
         try { 
            return Long.parseLong(s.trim()); 
         } catch (NumberFormatException e) { 
            System.out.println("'" + s + "' ist keine Ganzzahl."); 
         } 
      } 
   } 
    
    
    
   public static double readDouble() { 
      while (true) { 
         System.out.print("Bitte geben Sie hier den aktuellen Lohnsteuersatz als Dezimalzahl ein: "); 
         String s = readString(); 
         try { 
            return Double.parseDouble(s.trim()); 
         } catch (NumberFormatException e) { 
            System.out.println("'" + s + "' ist keine Dezimalzahl."); 
         } 
      } 
   } 
}

und hier der prog code:


Code:
public class Nettogehaltdeluxe { 

   public static void main(String[] args) { 

      // Dieses Programm baut auf einem seiner Vorgängermodelle auf, nur etwas komplizierter und diesal unter 
      // Verwendung der Util.read Class 
      // Es geht hierbei darum ein Programm zu generieren, bei dem es dem Benutzer möglich ist, aufgrund seiner 
      // Werteingaben sein ganz persönliches Nettogehalt auszurechnen. 

      // Variablen deklarieren 
      int bg; 
      long sv; 
      double ls; 
      float ng; 

      // Hier soll der Benutzer einen Wert einer Ganzzahl eingeben, der seinem Bruttogehalt entspricht! 
      bg = Util.readInt(); 
       
      // Hier soll der Benutzer einen Wert einer Ganzzahl eingeben, die der aktuellen Sozialversicherung entspricht! 
      // (Es wird davon ausgegangen, dass dieser Wert keine Decimalzahl ist!) 
      sv = Util.readLong(); 
       
      // Hier soll der Benutzer einen Wert einer Dezimalzahl eingeben, die der aktuellen Lohnsteuer entspricht! 
      // (Es wird davon ausgegangen, dass dieser Wert keine Ganzzahl ist!) 
      ls = Util.readDouble(); 
       

       

      // Kontrolle des eingegebenen Bruttogehalts: 
      System.out.println("Sie habe diesen Wert als Bruttogehalt eingegeben: " + bg); 
       
    
       
      // Kontrolle des eingegebenen SV-Steuersatzes: 
      System.out.println("Dieser Wert entspricht dem von ihnen eingegebenen SV-Steuersatz: " + sv); 

      // Kontrolle des eingegebenen Lohnsteuersatzes: 
      System.out.println("Dieser Wert entspricht dem von ihnen eingegebenen Lohnsteuersatz: " + ls); 
       
   } 

}
 

merxleben

Aktives Mitglied
Hi,

zuerst, dein Quelltext wird aktuell nicht übersetzt. Das heißt, die class Files die jetzt existieren gehören nicht zu den java Files die du momentan hast. Das bedeutet wir können nur vermuten, welcher Quelltext zum aktuellen Verhalten deines Programms führt.

Zweitens, ich hab den Quelltext wieder rauskopiert und übersetzt, und er zeigt bei mir keinerlei Probleme.

Das beste wird sein, wenn du ein neues Verzeichnis anlegst und beide Java Dateien dort reinkopierst und in dem neuen Verzeichnis mal die Dateien übersetzt.

Martin

P.S:
Mit welchem Editor arbeitest du
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java.Util.Properties wrapper class (Review Request) Java Basics - Anfänger-Themen 2
N Util.class frage Java Basics - Anfänger-Themen 5
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
BATMAN_2008 Jackson adding additional fields to JSON throws java.util.concurrent.CompletionException: Java Basics - Anfänger-Themen 2
R java.util.Set, CASE_INSENSITIVE_ORDER Java Basics - Anfänger-Themen 6
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 5
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
A Java.util.Arrays Java Basics - Anfänger-Themen 15
F java.util.ArrayList Java Basics - Anfänger-Themen 3
B java.util.Date noch zeitgemäß? Java Basics - Anfänger-Themen 6
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
M java.util.scanner Fehler Java Basics - Anfänger-Themen 5
Meeresgott OOP Richtig mit java.util.Property umgehen Java Basics - Anfänger-Themen 22
N java.util.Random - Zwei Zahlen mit festgesetzter Wahrscheinlichkeit? Java Basics - Anfänger-Themen 15
A Vererbungshierachie und java.util.Date Java Basics - Anfänger-Themen 31
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
I google java-diff-util - Patch abspeichern Java Basics - Anfänger-Themen 1
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
H Repräsentation von DateTime (Joda) in Java Util Date überführen Java Basics - Anfänger-Themen 3
P Variablen Abfangen von eingaben per java.util.Scanner und weiter Verarbeitung Java Basics - Anfänger-Themen 7
D java.util.NoSuchElementException: No line found Java Basics - Anfänger-Themen 11
DeVolt Anfängerfrage zu util.scanner Java Basics - Anfänger-Themen 2
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
S Compiler-Fehler Scanner java.util NoSuchElementExeption Java Basics - Anfänger-Themen 8
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
B ThreadPoolExecutor - import java.util.concurrent Java Basics - Anfänger-Themen 2
MiMa Zip in util verwenden Java Basics - Anfänger-Themen 7
R java.util.Random Java Basics - Anfänger-Themen 8
S Methoden Sortieren: java.util.Arrays.useLegacyMergeSort Java Basics - Anfänger-Themen 4
F java.util.scanner wird übersprungen Java Basics - Anfänger-Themen 9
O java.util.Scanner hängt sich auf Java Basics - Anfänger-Themen 5
E Klassen java.util.ArrayList<E> als Generics Java Basics - Anfänger-Themen 16
Blindxantos Datentypen Probleme bei util.Date zu sql.Date Java Basics - Anfänger-Themen 5
D java.util.ResourceBundle - exception Java Basics - Anfänger-Themen 4
T Aufruf einer Methoden aus einer Util-Klasse mit privatem Konstruktor Java Basics - Anfänger-Themen 7
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
S Unterschied java.util.prefs / java.util.Properties Java Basics - Anfänger-Themen 3
M java.util.ArrayList to java.sql.Array Java Basics - Anfänger-Themen 4
D java.util.Currency Java Basics - Anfänger-Themen 2
T java.util.Date Java Basics - Anfänger-Themen 5
J java.util.format => mit String? Java Basics - Anfänger-Themen 2
J util.Scanner problem Java Basics - Anfänger-Themen 6
N java.util.Random Java Basics - Anfänger-Themen 6
N verständnisfrage java.util.Calendar Java Basics - Anfänger-Themen 4
Luk10 Java.util.Scanner Java Basics - Anfänger-Themen 11
N Abzählreim,ohne util Java Basics - Anfänger-Themen 3
H ArrayList über java.util.Scanner füllen Java Basics - Anfänger-Themen 5
P ArrayList<E> in package java.util Java Basics - Anfänger-Themen 4
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
K java.util.ConcurrentModificationException problem in der Logik? Quaxli-Tutorial Java Basics - Anfänger-Themen 9
T import java.util.scanner cannot be resolved Java Basics - Anfänger-Themen 19
D java.util.Currency.getInstance exception mit brit. Pfund Java Basics - Anfänger-Themen 4
M Kann mir bitte jemand "java.util.ArrayList" erklären? Java Basics - Anfänger-Themen 5
V java.util.Stack Java Basics - Anfänger-Themen 9
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
G DateFormat - Datumsformat java.util.Locale interpretieren Java Basics - Anfänger-Themen 2
? java.util.Properties Wert von key mehrfach vorhanden Java Basics - Anfänger-Themen 13
E java.util.ConcurrentModificationException Problem Java Basics - Anfänger-Themen 5
F java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
Q java.util.loggging neue datei erstellen Java Basics - Anfänger-Themen 3
L Exception in thread "main" java.util.NoSuchElement Java Basics - Anfänger-Themen 4
hedges Würfelwurf mit java.util.Random ohne 0 Java Basics - Anfänger-Themen 6
W Java.util.Map in Bean wandeln Java Basics - Anfänger-Themen 2
M java.util.Timer und geplante Abarbeitung Java Basics - Anfänger-Themen 2
U java.util.Date to java.sql.Date Java Basics - Anfänger-Themen 2
K Wer kann mir java.util.Hastable erklären. Java Basics - Anfänger-Themen 3
K Probleme mit java.util.hashtable Java Basics - Anfänger-Themen 10
K Zipfile erstellen mit java.util.zip.* Java Basics - Anfänger-Themen 2
J Eclipse und printf und import util.java.scanner; Java Basics - Anfänger-Themen 4
G java.util.LinkedList: Doppelte Elemente vermeiden Java Basics - Anfänger-Themen 5
K Prob mit java.util.regex.matches-String wird nicht erkannt? Java Basics - Anfänger-Themen 9
T Möchte Charwert 23C° mit java.util.Scanner einlesen macht Pr Java Basics - Anfänger-Themen 2
K java.util.Calendar und Objekt Java Basics - Anfänger-Themen 7
M Seltsames java.util.Date Problem Java Basics - Anfänger-Themen 6
M java.util.Scanner kann nicht aufgelöst werden - warum nicht? Java Basics - Anfänger-Themen 4
RaoulDuke java.util.Date parsen Java Basics - Anfänger-Themen 5
M Source Code von java.util.SubList Java Basics - Anfänger-Themen 2
ff java.util.date Java Basics - Anfänger-Themen 2
O reguläre Ausdrücke bei java.util.regex.Pattern Java Basics - Anfänger-Themen 4
K Keine weitere (java.util.)Scanner Eingabemöglichkeit? Java Basics - Anfänger-Themen 5
A wie implementiere ich java.util.Scanner? Java Basics - Anfänger-Themen 12
D Mit java.util.Arrays.sort die negativen Zahlen hinten Java Basics - Anfänger-Themen 4
C java.util.Timer und wait() oder so was Java Basics - Anfänger-Themen 3
H util.date -> Sommerzeit-Probleme Java Basics - Anfänger-Themen 2
G Leere java.util.List erzeugen Java Basics - Anfänger-Themen 2
S java.awt.List vs. java.util.List Java Basics - Anfänger-Themen 2
D dumme Frage! (was heist 'import java.util.*;' ?) Java Basics - Anfänger-Themen 3
T IntelliJ / SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". Java Basics - Anfänger-Themen 4
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
123456789sssssaaaa Java Wrapper Class Java Basics - Anfänger-Themen 13
FHEFHJHFJH error: class names, 'summe_bsp', are only accepted if annotation processing is explicitly requested Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben