这个程序是一个菜单。(请不要说这个名字的原因)
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package menü.rendszer;
import java.util.Scanner;
/**
*
* @author Apa---2016
*/
public class MenüRendszer{
/**
* @param args the command line arguments
*/
public static void main(String[] args){
Scanner beolv;
beolv=new Scanner(System.in);
boolean y=false;
do{
System.out.println("Válassz egy síkidomot!(Choose one plane figure!)");
System.out.println("(1)Téglalap(Retangle)");
System.out.println("(2)Kör(Circle)");
System.out.println("(3)Háromszög(Triangle)");
System.out.println("(4)Rombusz(Rhombus)");
System.out.print("Számkód:(Number code");
int x=0;
x=beolv.nextInt();
switch(x){
case 1:
System.out.println("A kiválasztott síkidom:Téglalap(The choosed plane figure:Retangle)");
int a=0;
System.out.print("a=");
a=beolv.nextInt();
int b=0;
System.out.print("b=");
b=beolv.nextInt();
int K=0;
K=2*(a+b);
int T=0;
T=a*b;
System.out.println("Kerülete(Perimeter):"+K);
System.out.println("Területe(Area):"+T);
System.out.println();
break;
case 2:
System.out.println("A kiválasztott síkidom:Kör(The choosed plane figure:Circle)");
int R=0;
System.out.print("R=");
R=beolv.nextInt();
K=0;
T=0;
K=(int)(2*R*3.14);
T=(int)(R*R*3.14);
System.out.println("Kerülete(Perimeter):"+K);
System.out.println("Területe(Area):"+T);
System.out.println();
break;
case 3:
System.out.println("A kiválasztott síkidom:(Derékszögű)Háromszög(The choosed plane figure:(Right)Triangle)");
K=0;
T=0;
System.out.print("a=");
a=beolv.nextInt();
System.out.print("b=");
b=beolv.nextInt();
int c=0;
c=(int) Math.sqrt(a*a+b*b);
K=a+b+c;
T=a*b/2;
System.out.println("Kerülete(Perimeter):"+K);
System.out.println("Területe(Area):"+T);
System.out.println();
break;
case 4:
System.out.println("A kiválasztott síkidom:Rombusz(The choosed plane figure:Rhombus)");
K=0;
T=0;
int e=0;
int f=0;
System.out.print("e=");
e=beolv.nextInt();
System.out.print("f=");
f=beolv.nextInt();
K=e*e+f*f/4;
T=e*f/2;
System.out.println("Kerülete(Perimeter):"+K);
System.out.println("Területe(Area):"+T);
System.out.println();
break;
default:y=false;break;
}
}
while(!y);
}
}
你能看到圆圈吗?我测试过,例如R = 10原始预测器= 62.8,但输出只有62.如何有理数?
第二个问题。如何保持默认的开关? (我希望你明白,因为我不能说英语。)(我是匈牙利人。)
答案 0 :(得分:0)
hibádszvolt,hogy az y
- 一个程序elejénhamisraállítottad,ésadefault
- 禁令是。 Haazlejénigazzalkezdesz,éadigigismételszamígy
igaz,akkorjólsogműködni。
您的问题是您将y
初始化为false,而default
也将其设置为false。如果你从true开始,并在y为真时循环,它将正常工作。
public static void main(String[] args) {
Scanner beolv;
beolv = new Scanner(System.in);
boolean y = true;
do {
System.out.println("Válassz egy síkidomot!");
System.out.println("(1) Téglalap");
System.out.println("(2) Kör");
System.out.println("(3) Háromszög");
System.out.println("(4) Rombusz");
System.out.print("Számkód: ");
int x;
x = beolv.nextInt();
switch (x) {
case 1:
System.out.println("A kiválasztott síkidom: Téglalap");
double a;
System.out.print("a=");
a = beolv.nextInt();
double b;
System.out.print("b=");
b = beolv.nextInt();
double K;
K = 2 * (a + b);
double T;
T = a * b;
System.out.println("Kerülete(Perimeter):" + K);
System.out.println("Területe(Area):" + T);
System.out.println();
break;
case 2:
System.out.println("A kiválasztott síkidom: Kör");
double R;
System.out.print("R=");
R = beolv.nextInt();
K = (2 * R * 3.14);
T = (R * R * 3.14);
System.out.println("Kerülete:" + K);
System.out.println("Területe:" + T);
System.out.println();
break;
case 3:
System.out.println("A kiválasztott síkidom: (Derékszögű) Háromszög");
System.out.print("a=");
a = beolv.nextInt();
System.out.print("b=");
b = beolv.nextInt();
double c;
c = Math.sqrt(a * a + b * b);
K = a + b + c;
T = a * b / 2;
System.out.println("Kerülete:" + K);
System.out.println("Területe:" + T);
System.out.println();
break;
case 4:
System.out.println("A kiválasztott síkidom: Rombusz");
double e;
double f;
System.out.print("e=");
e = beolv.nextInt();
System.out.print("f=");
f = beolv.nextInt();
K = e * e + f * f / 4;
T = e * f / 2;
System.out.println("Kerülete:" + K);
System.out.println("Területe:" + T);
System.out.println();
break;
default:
y = false;
break;
}
}
while (y); // Addig ismételje amíg y igazra van állítva, a default hamisra rakja és kilép a program.
}