Wie rundet mein Programm im Java Editor das Ergebnis auf 2 Nachkommastellen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Math.round(zahl * 100.0)/100.0;

anstatt nur 100 machst du 100.0 oder 100d, denn sonst Castet er das Ergebnis in ein int, und deine Nachkommastellen sind verloren. aber da du ein Double willst, machst du mit .0 oder d

Hinter dem € zeichen steckt natürlich ne Codierung die nicht im ascii steht.

D.h. jedes Betriebssystem/bzw benutze Codierung kann die codierung hinter dem € zeichen anders interpretieren.

Du musst gucken welche codierung dein system und die ide verwendet und dementsprechend anpassen.

Oder du nimmst statt € einfach ¤, das is im ascii definiert und es ist das allgemeine Währungssymbol, es steht also stellvertretend für alle Währungen

myNumber = Math.round(myNumber * 100) / 100;

So wird das Komma erst um zwei Stellen nach links verschoben und dann gerundet. Nach der Division bleiben zwei Kommastellen übrig.

Das ganze funktioniert natürlich auch mit der Methode "format" in der Klasse String.

Der rundet jetzt nur z.B. von 13.4233 zu 13.0 :(

0

Ja, liegz daran, dass er mit einem int dividiert, da gehen die nachkomma stellen verloren. einfach statt 100,100.0 oder 100d

2
@SirNik

Danke. Hab' ich übersehen.

Nebenbei ist für Rechnungen mit Geld o.ä. BigInteger zu empfehlen.

1

Hilfe bei Java Programmier Aufgabe?

Schreiben Sie eine switch-Anweisung, die äquivalent zur folgenden if-Anweisung ist. Wie beurteilen Sie Ihre Lösung im Vergleich zur vorliegenden if-Anweisung?

if(n < 5 || n > 8)      

System.out.println("Bereich 1");
else if(n >= 5 && n <= 7)
System.out.println("Bereich 2");
else
System.out.println("Bereich 3");

Kann mir jemand helfen ?

...zur Frage

Warum funktionert mein Tascherecher in Java nicht??

das ist der Code ..

import java.util.Scanner;

public class Calc {

public static void main(String args []) {
    Scanner s = new Scanner (System.in) ;
    int w,x,y,z ; 
    System.out.println("Geben sie hre erste Zahl ein");
    w = s.nextInt();
    System.out.println("Nun Ihre zweite");
    x = s.nextInt();  
    System.out.println("Welche Rechenart wollen sie benutzen ?");
    System.out.println("1. Addition");
    System.out.println("2. Subtraktion");
    System.out.println("3. Multiplikation ");
    System.out.println("4. Division ");
    System.out.println("Geben Sie die zugehörige Zahl ein ");
    y= s.nextInt(); 
    
    if(y==1) {
        z = 1111;}
            else if (y==2)  { 
                z = 2222;}
                    else if (y==3)
                        {z = 3333;}  
                            else  if (y==4)
                                {z = 4444;}
                                else; 
                                    {z= 8888;}

    System.out.println("Hier ist ihr Ergebnis " + z);
        
}

} Das soll ein Taschenrechner sein Warum geht das nicht ?

...zur Frage

Java Spiel Fehler im Code?

Hallo,

Ich muss für die Schule in Java ein Code für ein Spiel schreiben. Hierbei habe ich mich für "Schere, Stein, Papier" mit 5 Varianten entschieden.

Für den Code habe ich lange gebraucht doch als ich endlich fertig war und ihn ausprobiert habe, habe ich keine Fehlermeldung bekommen - sprich der Code enthält 'in Java Sprache' keine Fehler.

Doch das Spiel funktioniert nicht!

Gibt es hier bereitwillige Spezialisten die mir helfen können meinen Fehler im Code zu finden?

Ich bin echt nicht gut in Informatik...

import java.awt.; import java.applet.; import java.util.Scanner;

public class KampfDerElemente extends Applet {

public static void main(String[] args) {

while(true) {

System.out.println("Sie haben die Wahl");

System.out.println("1 - Feuer");

System.out.println("2 - Wasser");

 System.out.println("3 - Luft");

 System.out.println("4 - Erde");

 System.out.println("5 - Elektro");

 Scanner input = new Scanner(System.in);

 int pcwahl;

 pcwahl = (int) (Math.random() * 5) + 1;

 int feuer = 1;

 int wasser = 2;

int luft = 3;

 int erde = 4;

 int elektro = 5;

if (input.nextInt() == pcwahl) {

System.out.println("Unentschieden!");}

if ((pcwahl == feuer) && (input.nextInt() == 3 || input.nextInt() == 5)){

System.out.println("Der Computer hat gewonnen!");

           }

else if (input.nextInt() == 2 || input.nextInt() == 4){

System.out.println("Sie haben gewonnen!");}

                    

           if ((pcwahl == wasser) && (input.nextInt() == 1 || input.nextInt() == 4)){

               System.out.println("Der Computer hat gewonnen!");}

                

               else if (input.nextInt() == 3 || input.nextInt() == 5){

                   System.out.println("Sie haben gewonnen!");}

                    

           if ((pcwahl == luft) && (input.nextInt() == 1 || input.nextInt() == 4)){

               System.out.println("Sie haben gewonnen!");}

                

               else if (input.nextInt() == 2 || input.nextInt() == 5){

                   System.out.println("Der Computer hat gewonnen!");}

                        

           if ((pcwahl == erde) && (input.nextInt() == 1 || input.nextInt() == 3)){

               System.out.println("Der Computer hat gewonnen!");}

                            

               else if (input.nextInt() == 2 || input.nextInt() == 5){

                   System.out.println("Sie haben gewonnen!");}

                    

           if ((pcwahl == elektro) && (input.nextInt() == 1 || input.nextInt() == 3)){

               System.out.println("Sie haben gewonnen!");}

                

               else if (input.nextInt() == 2 || input.nextInt() == 4){

                   System.out.println("Der Computer hat gewonnen!");}

                           }

                       }

                   }

LG Ollivoe

...zur Frage

Java - Primzahlen ermitteln

Soll zwischen 1 und 100 alle Primzahlen in Java ermitteln. Lasse ich das Programm laufen wird keine Zahl ausgegeben. Ich habe festgestellt, dass bei jeder Zahl primzahl == false ist. Zu beginn war der boolean primzahl true. Was habe ich falsch gemacht?

System.out.println ("Primzahlen:");

for (i=1 ;i<=100 ;i++ ) {
  if (i==1) {
    primzahl = false;
  } // end of if
    else {
    for (j=2 ;j<i ;j++ ) {
      if (i % j == 0) {
        primzahl = false;
      } // end of if
    } // end of for
  } // end of if-else
  if (primzahl == true) {
    System.out.println (i);
  } // end of if
} // end of for
...zur Frage

Warum wird mir der Fehler in Java angezeigt?

Hallo Freunde, ich bin gerade dabei einen BMI Rechner in Java (NetBeans) zu programmieren. Allerdings kommt immer bei der if /else if abfrage ein Fehlercode. Ich weiß nicht warum der kommt. Hab mir schon Videos angesehen etc aber bei denen ging das alles. if(Alter<=24) if(ergebnis>=0) System.out.println("ACHTUNG!!! Du hast ein Untergewicht"); if else(ergebnis>=19) System.out.println("PERFEKT!!! Du hast ein Normalgewicht"); if else(ergebnis>=24) System.out.println("ACHTUNG!!! Du hast leicht erhöhtes Übergewicht");

bei den zwei if else Abfragen kommt ein Fehler. Ich hab auch nochmal den ganzen Quelltext reingestellt damit man es sich komplett angucken kann. Hoffe jmd kann mit helfen :)

package bmirechner; import java.util.Scanner;

public class BMIrechner {

public static void main(String[] args) {

    double Körpergröße;
    double Gewicht;
    double Geschlecht;
    double ergebnis;
    int Alter;
    Scanner ScannerKörpergröße = new Scanner(System.in);
    Scanner ScannerGewicht = new Scanner(System.in);
    Scanner ScannerGeschlecht = new Scanner(System.in);
    Scanner ScannerAlter = new Scanner(System.in);

    System.out.println("Herzlich Willkommen zum BMI Rechner von Valentin Wagner");
    System.out.println("Sind Sie ein Mann oder eine Frau?");
    System.out.println("Geben Sie (1) für Frau ein und (2) für Mann ein");
    Geschlecht=ScannerGeschlecht.nextDouble();
    System.out.println("Wie alt sind sie?");
    Alter=ScannerAlter.nextInt();
    if(Geschlecht == 1){
        System.out.println("Bitte geben sie Ihre Körpergröße an");
        Körpergröße=ScannerKörpergröße.nextDouble();
        System.out.println("Bitte geben sie Ihr Gewicht an");
        Gewicht=ScannerGewicht.nextDouble();
        ergebnis=Gewicht / (Körpergröße * Körpergröße);
        System.out.println("Ihr BMI beträgt: " + ergebnis);
        if(Alter<=24)
            if(ergebnis>=0)
                    System.out.println("ACHTUNG!!! Du hast ein Untergewicht");
            if else(ergebnis>=19)
                    System.out.println("PERFEKT!!! Du hast ein Normalgewicht");
            if else(ergebnis>=24)
                    System.out.println("ACHTUNG!!! Du hast leicht erhöhtes Übergewicht");
...zur Frage

Wie lerne ich Programmier-Basics?

Ich würde gerne mal ausprobieren zu programmieren, aber da es so viele verschiedene Sprachen gibt, bin ich etwas überfordert und weiß nicht direkt wo ich anfangen soll, vorallem weil ich zuerst noch die Basics lernen sollte. Wie kann ich das am besten machen? Oder soll ich gleich mit einer Sprache wie z.B Java beginnen? Gibt es dazu gute Youtube Kanäle oder Internet Seiten? Danke schonmal

...zur Frage

Was möchtest Du wissen?