Körperberechnung - Volumen=0 ?

Status
Nicht offen für weitere Antworten.

olli1991

Mitglied
Hallo liebe User;

mein Programm Koerper.java gibt leider bei 4: Kreiskegel Volumen=0 aus. Warum ich finde keine Lösung. Bitte um Hilfe Danke im vorraus.

Java:
import java.io.*;
public class Koerper
{

	public static void main(String argv[])throws IOException
	{
	
		BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
		
		String str;
		int dieAuswahl;
		double a, b, h, r, s, dasVolumen, dieOberflaeche;
		
		
		
		System.out.println("Waelen Sie mit 1= Zylinder, 2=Wuerfel, 3=Quader, 4=Kreiskegel, 5=Kugel aus: ");
		str= input.readLine();
		dieAuswahl = Integer.parseInt(str);
				
		
			switch (dieAuswahl)
			{
				/*############################################################################*/
				case 1:{ 	System.out.println("Sie haben Zylinder Gewaehlt");	
				
						
						System.out.println("Berechnung von Volumen und Oberflaeche: ");
							
						
							System.out.println("Radius r eingeben: ");
							str= input.readLine();
							r = Double.parseDouble(str);
							System.out.println("Hoehe h eingeben: ");
							str= input.readLine();
							h = Double.parseDouble(str);
														
							
								dasVolumen= Math.PI * r * r *h;
								dieOberflaeche= 2 * Math.PI * r * (r+h);
								
								System.out.println("Das Volumen ist: "+dasVolumen );
								System.out.println("Die Oberflaeche ist: "+dieOberflaeche );					
								System.out.println("Programmende Koerper");
						break;
						}				
				/*############################################################################*/					
				case 2:{	System.out.println("Sie haben Wuerfel Gewaehlt");	
							
							System.out.println("Laene a eingeben: ");
							str= input.readLine();
							a = Double.parseDouble(str);
							
																
								dasVolumen= a * a * a;
								dieOberflaeche= 6 * a;
								
								System.out.println("Das Volumen ist: "+dasVolumen );
								System.out.println("Die Oberflaeche ist: "+dieOberflaeche );
								System.out.println("Programmende Koerper");
						break;
						}	
				/*############################################################################*/						
				case 3:{	System.out.println("Sie haben Quader Gewaehlt");	
				
							System.out.println("Laene a eingeben: ");
							str= input.readLine();
							a = Double.parseDouble(str);
						
							System.out.println("Laene b eingeben: ");
							str= input.readLine();
							b = Double.parseDouble(str);
						
							System.out.println("Hoehe h eingeben: ");
							str= input.readLine();
							h = Double.parseDouble(str);
				
											
								dasVolumen= a * b * h;
								dieOberflaeche= 2 * (a * b + a * h + b * h);	
							
								System.out.println("Das Volumen ist: "+dasVolumen );
								System.out.println("Die Oberflaeche ist: "+dieOberflaeche );
								System.out.println("Programmende Koerper");
						break;
						}
				/*############################################################################*/				
				case 4:{	System.out.println("Sie haben Kreiskegel Gewaehlt");	
				
							System.out.println("Radius r eingeben: ");
							str= input.readLine();
							r = Double.parseDouble(str);
						
							System.out.println("Hoehe h eingeben: ");
							str= input.readLine();
							h = Double.parseDouble(str);
							
							System.out.println("Seitenlänge s eingeben: ");
							str= input.readLine();
							s = Double.parseDouble(str);
							
							
								dasVolumen= 1/3 * Math.PI *( r * r )* h;
								dieOberflaeche= Math.PI * r * (r + s);	
							
								System.out.println("Das Volumen ist: "+dasVolumen );
								System.out.println("Die Oberflaeche ist: "+dieOberflaeche );
								System.out.println("Programmende Koerper");
						break;
						}
				/*############################################################################*/
				case 5:{	System.out.println("Sie haben Kugel Gewaehlt");	
				
				
							System.out.println("Radius r eingeben: ");
							str= input.readLine();
							r = Double.parseDouble(str);
				
				
				
				
								dasVolumen= (4/3) * Math.PI * r * r * r;
								dieOberflaeche= 4 * Math.PI * r * r;	
							
								System.out.println("Das Volumen ist: "+dasVolumen );
								System.out.println("Die Oberflaeche ist: "+dieOberflaeche );
								System.out.println("Programmende Koerper");
				
								
						break;
						}
				/*############################################################################*/
			}
	
	}

}

Euer olli
 

Schandro

Top Contributor
1/3 ist 0
schreib stattdessen:
1.0/3.0

Grund:
die Literale 1 bzw. 3 sind vom typ int, 1.0 bzw 3.0 werden dagegen als double erkannt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben