![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Neuer Benutzer
Registriert seit: 23.06.2005
Beiträge: 11
|
Hallo Gemeinde,
ich möchte mir ein kl. Rechenprog unter der Eingabeaufforderung in Win programmieren. So weit bin ich jetzt gekommen. Ich weiss ich weiss vile zu umständlich :confused: Code:
import java.io.*;
public class JCalcS {
public static void main(String echo[]){
System.out.println("Es stehen folgende Rechenregel zur Verfuegung:\n +, \n-, \n *, \n (geteilt), \n Modulo ");
// 1. Zahl einlesen und ausgeben:
System.out.println("Geben Sie die 1. Zahl ein:");
BufferedReader eingabe1 = new BufferedReader(new InputStreamReader(System.in));
String zeile1="";
try{ zeile1 = eingabe1.readLine();
}
catch(IOException e){ }
System.out.println("1. Zahl: --------> " + zeile1 + "\n");
// 2. Zahl einlesen und ausgeben:
System.out.println("Geben Sie die 2. Zahl ein:");
BufferedReader eingabe2 = new BufferedReader(new InputStreamReader(System.in));
String zeile2="";
try{ zeile2 = eingabe2.readLine();
}
catch(IOException e){ }
System.out.println("2. Zahl: --------> " + zeile2 + "\n");
// Operand einlesen und ausgeben:
System.out.println("Geben Sie den Operand ein:");
BufferedReader operand = new BufferedReader(new InputStreamReader(System.in));
String zeile3="";
try{ zeile3 = operand.readLine();
}
catch(IOException e){ }
System.out.println("Operand: --------> " + zeile3 + "\n");
switch(zeile3) {
case '+': System.out.println("Ergebniss: " +(zeile1+zeile2));
break;
case '-': System.out.println("Ergebniss: " +(zeile1-zeile2));
break;
case '*': System.out.println("Ergebniss: " +(zeile1*zeile2));
break;
case '/': System.out.println("Ergebniss: " +(zeile1/zeile2));
break;
/* case 'mod': System.out.println("Ergebniss: " +(zeile1zeile2));
break; */
default : System.out.println("ungültige Option");
}
Wie kann ich das Problem lösen ? mfg trivial |
|
|
|
|
|
Nach oben #2 |
|
Chefkoch-Mod
Registriert seit: 30.05.2004
Beiträge: 433
|
Hi,
bevor ich mir das näher anschaue, wäre es nett, wenn Du die Fehlermeldung auch rüberreichst. Gerade bei Java kann man da meist viel herauslesen.
__________________
Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
|
|
|
|
|
Nach oben #3 |
|
Gast
Beiträge: n/a
|
Code:
import java.io.*;
public class JCalcS {
public static void main(String echo[]) {
System.out
.println("Es stehen folgende Rechenregel zur Verfuegung:\n +, \n-, \n *, \n (geteilt), \n Modulo ");
// 1. Zahl einlesen und ausgeben:
System.out.println("Geben Sie die 1. Zahl ein:");
BufferedReader eingabe1 = new BufferedReader(new InputStreamReader(
System.in));
String zeile1 = "";
try {
zeile1 = eingabe1.readLine();
} catch (IOException e) {
}
System.out.println("1. Zahl: --------> " + zeile1 + "\n");
// 2. Zahl einlesen und ausgeben:
System.out.println("Geben Sie die 2. Zahl ein:");
BufferedReader eingabe2 = new BufferedReader(new InputStreamReader(
System.in));
String zeile2 = "";
try {
zeile2 = eingabe2.readLine();
} catch (IOException e) {
}
System.out.println("2. Zahl: --------> " + zeile2 + "\n");
// Operand einlesen und ausgeben:
System.out.println("Geben Sie den Operand ein:");
BufferedReader operand = new BufferedReader(new InputStreamReader(
System.in));
char zeichen = 0;
try {
zeichen = operand.readLine().trim().charAt(0);
}
catch (IOException e) {
}
int a = 0, b = 0;
try
{
a = Integer.parseInt(zeile2);
b = Integer.parseInt(zeile2);
}
catch(NumberFormatException e)
{
}
System.out.println("Operand: --------> " + zeichen + "\n");
switch (zeichen) {
case '+':
System.out.println("Ergebniss: " + (a + b));
break;
case '-':
System.out.println("Ergebniss: " + (a - b));
break;
case '*':
System.out.println("Ergebniss: " + (a * b));
break;
case '/':
System.out.println("Ergebniss: " + (a / b));
break;
/* case 'mod': System.out.println("Ergebniss: " +(zeile1zeile2));
break; */
default:
System.out.println("ungültige Option");
}
}
}
|
|
|
|
Nach oben #8 |
|
Neuer Benutzer
Registriert seit: 23.06.2005
Beiträge: 11
|
.... double statt int bei z1 und z2, aber wenn ich bei o auch double nehme
bringt er mir einen Fehler beim compilieren ! Wie kann ich einen String/char typ-casten ? Hallo Gemeinde, kann mir einer sagen, wieso ich nach der Eingabeaufforderung von: "java JCalckurz 3 + 4" immer "Ungueltige Option" zurück bekomme? Beim Compilieren mekkert er nicht rum. hier mal der Code: Code:
import java.lang.*;
public class JCalckurz{
public static void main(String args[])
{
double z1 = 0;
int o = 0;
double z2 = 0;
try
{
z1 = Integer.parseInt(args[0]);
o = Integer.parseInt(args[1]);
z2 = Integer.parseInt(args[2]);
}
catch(NumberFormatException e)
{
// Was könnte hier drinstehen ?
}
switch (o) {
case '+': System.out.println("Ergbnis: "+(z1+z2));
break;
case '-': System.out.println("Ergbnis: " +(z1+z2));
break;
case '*': System.out.println("Ergbnis: " +(z1+z2));
break;
case '/': System.out.println("Ergbnis: " +(z1+z2));;
break;
case '%': System.out.println("Ergbnis: " +(z1+z2));;
break;
default : System.out.println("Ungueltige Option");
}
}
}
Vielen Dank für Eure Hilfe mfg trivial |
|
|
|
|
|
Nach oben #9 |
|
Neuer Benutzer
Registriert seit: 23.06.2005
Beiträge: 11
|
Hallo Gemeinde,
Vielen Dank Allen für die Hilfsleistungen. Jetzt passt's wie ich es wollte ![]() Code:
import java.lang.*;
public class JCalckurz{
public static void main(String args[])
{
double z1 = 0;
char o = 0;
double z2 = 0;
try
{
z1 = Integer.parseInt(args[0]);
o = args[1].charAt(0);
z2 = Integer.parseInt(args[2]);
}
catch(NumberFormatException e)
{
// Was könnte hier drinstehen ?
}
switch (o) {
case '+': System.out.println("Ergbnis: "+(z1+z2));
break;
case '-': System.out.println("Ergbnis: " +(z1-z2));
break;
case '*': System.out.println("Ergbnis: " +(z1*z2));
break;
case '/': System.out.println("Ergbnis: " +(z1/z2));;
break;
case '%': System.out.println("Ergbnis: " +(z1%z2));;
break;
default : System.out.println("Ungueltige Option");
}
}
}
mfg trivial |
|
|
|
|
|
Nach oben #10 |
|
Chefkoch-Mod
Registriert seit: 30.05.2004
Beiträge: 433
|
Hi,
schön! Auch schön, dass Du die Lösung noch mal gepostet hast. In Deinem Catchblock könnte z.B. stehen, dass der Anwender eine Meldung bekommt, in der steht, dass er eine falsche Eingabe gemacht hat.
__________________
Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Kleines Testprojekt mit Zeichenfehlern | Prophet | Allgemeine Java-Programmierung | 4 | 21.05.2006 17:06 |
| Kleines PHP-Script gesucht | sparrow | Gesuche | 4 | 26.03.2006 19:45 |
| Kleines Smarty-Problem | Chr!s | PEAR, PECL und Frameworks | 3 | 14.03.2006 23:34 |
| kleines feines soap tutorial für php5 | robo47 | Literatur | 5 | 24.01.2006 16:10 |
| Problem mit Eingabeaufforderung | spoon | Allgemeine Java-Programmierung | 6 | 29.04.2005 10:42 |