M
muh2k4
Gast
Hallo 
Ich programmiere seit einer Woche ein bisschen Java. Mir ist bewusst, dass bei der Aufgabe 1/1= 1.0 rauskommt, wenn die erste oder die zweite 1 (oder beide) als Gleitpunktzahl deklariert sind.
Nun ja, ich wollte ein Programm schreiben, dass ganze Zahlen als Ganzzahlen ausgibt und Kommazahlen als Gleitpunktzahlen.
Das klappt auch super! Aber meiner Frage ist, warum bei 1/1, 2/2, etc. 1.0 rauskommt und nicht 1. Wenn man sich den Quellcode anguckt sieht man, dass ich mit "Rest" arbeite, und die genannten Quotienten wohl keinen "Rest" haben sollte, oder?
Es ist kein großes Problem, aber es ist meiner Meinung nach unlogisch, wenn man sich mein Pogramm anguckt. Bevor ich jetzt viel erkläre, seht es euch an, ihr kennt euch damit bestimmt besser aus
(Ich gehe davon aus, dass man bei diesem Programm nur ganze Zahlen eintippt)
Und das ist die Ausgabe wenn ich für Spannung 2 und Widerstand 2 eingebe:
Ich programmiere seit einer Woche ein bisschen Java. Mir ist bewusst, dass bei der Aufgabe 1/1= 1.0 rauskommt, wenn die erste oder die zweite 1 (oder beide) als Gleitpunktzahl deklariert sind.
Nun ja, ich wollte ein Programm schreiben, dass ganze Zahlen als Ganzzahlen ausgibt und Kommazahlen als Gleitpunktzahlen.
Das klappt auch super! Aber meiner Frage ist, warum bei 1/1, 2/2, etc. 1.0 rauskommt und nicht 1. Wenn man sich den Quellcode anguckt sieht man, dass ich mit "Rest" arbeite, und die genannten Quotienten wohl keinen "Rest" haben sollte, oder?
Es ist kein großes Problem, aber es ist meiner Meinung nach unlogisch, wenn man sich mein Pogramm anguckt. Bevor ich jetzt viel erkläre, seht es euch an, ihr kennt euch damit bestimmt besser aus
(Ich gehe davon aus, dass man bei diesem Programm nur ganze Zahlen eintippt)
import java.io.*;
class ohm
{
public static void main (String[] args) throws IOException
{
InputStreamReader InStream = new InputStreamReader (System.in);
BufferedReader buffy = new BufferedReader (InStream);
int U,R,k;
double I;
String eingabe;
System.out.println("Geben sie die Spannung ein!");
eingabe=buffy.readLine();
U=Integer.parseInt(eingabe);
System.out.println("Geben sie nun den Widerstand ein!");
eingabe=buffy.readLine();
R=Integer.parseInt(eingabe);
I=(U+0.0)/R;
k=U/R;
if (I%2!=0)
System.out.println("Die Stromstärke betraegt bei einer Spannung von "+U+" Volt und "+R+" Ohm, "+I+" Ampere!");
else
System.out.println("Die Stromstärke betraegt bei einer Spannung von "+U+" Volt und "+R+" Ohm, "+k+" Ampere!");
}}
Und das ist die Ausgabe wenn ich für Spannung 2 und Widerstand 2 eingebe:
C:\Users\muh2k4\Desktop\Java>java ohm
Geben sie die Spannung ein!
2
Geben sie nun den Widerstand ein!
2
Die Stromstõrke betraegt bei einer Spannung von 2 Volt und 2 Ohm, 1.0 Ampere!
C:\Users\muh2k4\Desktop\Java>