执行 do while 和 exit
Implementing do while and exit
作为 Java 的新手,我编写了这个程序来计算各种货币。我想询问用户是否希望重复该过程,直到用户希望退出。请协助我解决这个问题。到目前为止我的代码:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
DecimalFormat formatter = new DecimalFormat("#0.00");
String CType, c1 = "US", c2 = "EUR", c3 = "RM", c4 = "SAR";
double CValue , US, EUR, RM, SGD, SAR;
System.out.println("Welcome to Bonus Calculator");
System.out.println("Enter any of the following Currencies:");
System.out.print("US\n" +
"EUR\n" +
"RM\n" +
"SGD\n" +
"SAR: ");
CType = input.next();
if(CType.equalsIgnoreCase("US")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
EUR = CValue * .88;
RM = CValue * 3.92;
SGD = CValue * 1.35;
SAR = CValue * 3.75;
System.out.print("US = " + formatter.format(CValue) + "EUR =" + formatter.format(EUR) + "RM =" + formatter.format(RM) + "SGD =" + formatter.format(SGD) + "SAR =" + formatter.format(SAR));
}
else if(CType.equalsIgnoreCase("EU")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 1.14;
RM = US * 3.92;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("EUR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " RM = " + formatter.format(RM) +" SGD = " + formatter.format(SGD) +" SAR = " + formatter.format(SAR));
}
else if (CType.equalsIgnoreCase("RM")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * .26;
EUR = US * .88;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("RM = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " SAR = " + formatter.format(SAR));
}
else if (CType.equalsIgnoreCase("SGD")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.74;
EUR = US * .88;
RM = US * 3.92;
SAR = US * 3.75;
System.out.print("SGD = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SAR = " + formatter.format(SAR) + " RM = " + formatter.format(RM));
}
else if(CType.equalsIgnoreCase("SAR")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.39;
EUR = US * .88;
RM = US * 3.92;
SGD = US * 1.35;
System.out.print("SAR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " RM = " + formatter.format(RM));
}
}
将所有代码包装在一个循环中,并使用像 keepRunning
这样初始化为 true 的布尔变量。在循环结束时,您询问用户(从扫描仪获取输入),然后检查输入的意思是 "yes" 还是 "no"(或者换句话说是真还是假)并设置 keepRunning
因此(这意味着如果用户选择 "no",则将其设置为 false)。
示例:
boolean keepRunning = true;
while( keepRunning ) {
//ask for input, calculate, print - the bulk of your code above
System.out.println("Would you like to do another? y/n");
String userInput = ...; //get from scanner, I'll leave this as an excercise for you
keepRunning = "y".equalsIgnoreCase( userInput ); //you might want to be more lenient here, e.g. also accept "yes" etc.
}
当用户选择 "no" 时,交替使用 while(true)
和 break;
。
示例:
while( true ) { //keep running until we stop it from the inside
//same as above
...
//break the loop if the user didn't select "y"
if( !"y".equalsIgnoreCase( userInput ) ) {
break;
}
}
您好,请检查以下代码
public static void main(String args[]){
Scanner input = new Scanner(System.in);
DecimalFormat formatter = new DecimalFormat("#0.00");
String CType, c1 = "US", c2 = "EUR", c3 = "RM", c4 = "SAR";
double CValue , US, EUR, RM, SGD, SAR;
char choice='Y';//modified
System.out.println("Welcome to Bonus Calculator");
do{//modified
System.out.println("Enter any of the following Currencies:");
System.out.print("US\n" +
"EUR\n" +
"RM\n" +
"SGD\n" +
"SAR: ");
CType = input.next();
if(CType.equalsIgnoreCase("US")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
EUR = CValue * .88;
RM = CValue * 3.92;
SGD = CValue * 1.35;
SAR = CValue * 3.75;
System.out.print("US = " + formatter.format(CValue) + "EUR =" + formatter.format(EUR) + "RM =" + formatter.format(RM) + "SGD =" + formatter.format(SGD) + "SAR =" + formatter.format(SAR));
}
System.out.println("\nDo you which to Continue if Yes press 'Y' other wise press 'N'");//modified
choice = input.next().toCharArray()[0];//modified
}while(choice!='N');//modified
}
你可以使用 while(true) as
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
DecimalFormat formatter = new DecimalFormat("#0.00");
String CType, c1 = "US", c2 = "EUR", c3 = "RM", c4 = "SAR";
double CValue , US, EUR, RM, SGD, SAR;
System.out.println("Welcome to Bonus Calculator");
while (true) {
System.out.println("Enter any of the following Currencies:");
System.out.print("US\n" +
"EUR\n" +
"RM\n" +
"SGD\n" +
"SAR: ");
CType = input.next();
if(CType.equalsIgnoreCase("EXIT"))
break;
if (CType.equalsIgnoreCase("US")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
EUR = CValue * .88;
RM = CValue * 3.92;
SGD = CValue * 1.35;
SAR = CValue * 3.75;
System.out.print("US = " + formatter.format(CValue) + "EUR =" + formatter.format(EUR) + "RM =" + formatter.format(RM) + "SGD =" + formatter.format(SGD) + "SAR =" + formatter.format(SAR));
} else if (CType.equalsIgnoreCase("EU")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 1.14;
RM = US * 3.92;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("EUR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " RM = " + formatter.format(RM) + " SGD = " + formatter.format(SGD) + " SAR = " + formatter.format(SAR));
} else if (CType.equalsIgnoreCase("RM")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * .26;
EUR = US * .88;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("RM = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " SAR = " + formatter.format(SAR));
} else if (CType.equalsIgnoreCase("SGD")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.74;
EUR = US * .88;
RM = US * 3.92;
SAR = US * 3.75;
System.out.print("SGD = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SAR = " + formatter.format(SAR) + " RM = " + formatter.format(RM));
} else if (CType.equalsIgnoreCase("SAR")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.39;
EUR = US * .88;
RM = US * 3.92;
SGD = US * 1.35;
System.out.print("SAR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " RM = " + formatter.format(RM));
}
}
}
当用户键入 EXIT 时,它会从 loop.You 退出,作为用户的一个选项。
作为 Java 的新手,我编写了这个程序来计算各种货币。我想询问用户是否希望重复该过程,直到用户希望退出。请协助我解决这个问题。到目前为止我的代码:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
DecimalFormat formatter = new DecimalFormat("#0.00");
String CType, c1 = "US", c2 = "EUR", c3 = "RM", c4 = "SAR";
double CValue , US, EUR, RM, SGD, SAR;
System.out.println("Welcome to Bonus Calculator");
System.out.println("Enter any of the following Currencies:");
System.out.print("US\n" +
"EUR\n" +
"RM\n" +
"SGD\n" +
"SAR: ");
CType = input.next();
if(CType.equalsIgnoreCase("US")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
EUR = CValue * .88;
RM = CValue * 3.92;
SGD = CValue * 1.35;
SAR = CValue * 3.75;
System.out.print("US = " + formatter.format(CValue) + "EUR =" + formatter.format(EUR) + "RM =" + formatter.format(RM) + "SGD =" + formatter.format(SGD) + "SAR =" + formatter.format(SAR));
}
else if(CType.equalsIgnoreCase("EU")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 1.14;
RM = US * 3.92;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("EUR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " RM = " + formatter.format(RM) +" SGD = " + formatter.format(SGD) +" SAR = " + formatter.format(SAR));
}
else if (CType.equalsIgnoreCase("RM")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * .26;
EUR = US * .88;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("RM = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " SAR = " + formatter.format(SAR));
}
else if (CType.equalsIgnoreCase("SGD")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.74;
EUR = US * .88;
RM = US * 3.92;
SAR = US * 3.75;
System.out.print("SGD = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SAR = " + formatter.format(SAR) + " RM = " + formatter.format(RM));
}
else if(CType.equalsIgnoreCase("SAR")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.39;
EUR = US * .88;
RM = US * 3.92;
SGD = US * 1.35;
System.out.print("SAR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " RM = " + formatter.format(RM));
}
}
将所有代码包装在一个循环中,并使用像 keepRunning
这样初始化为 true 的布尔变量。在循环结束时,您询问用户(从扫描仪获取输入),然后检查输入的意思是 "yes" 还是 "no"(或者换句话说是真还是假)并设置 keepRunning
因此(这意味着如果用户选择 "no",则将其设置为 false)。
示例:
boolean keepRunning = true;
while( keepRunning ) {
//ask for input, calculate, print - the bulk of your code above
System.out.println("Would you like to do another? y/n");
String userInput = ...; //get from scanner, I'll leave this as an excercise for you
keepRunning = "y".equalsIgnoreCase( userInput ); //you might want to be more lenient here, e.g. also accept "yes" etc.
}
当用户选择 "no" 时,交替使用 while(true)
和 break;
。
示例:
while( true ) { //keep running until we stop it from the inside
//same as above
...
//break the loop if the user didn't select "y"
if( !"y".equalsIgnoreCase( userInput ) ) {
break;
}
}
您好,请检查以下代码
public static void main(String args[]){
Scanner input = new Scanner(System.in);
DecimalFormat formatter = new DecimalFormat("#0.00");
String CType, c1 = "US", c2 = "EUR", c3 = "RM", c4 = "SAR";
double CValue , US, EUR, RM, SGD, SAR;
char choice='Y';//modified
System.out.println("Welcome to Bonus Calculator");
do{//modified
System.out.println("Enter any of the following Currencies:");
System.out.print("US\n" +
"EUR\n" +
"RM\n" +
"SGD\n" +
"SAR: ");
CType = input.next();
if(CType.equalsIgnoreCase("US")){
System.out.print("Enter Value: ");
CValue = input.nextInt();
EUR = CValue * .88;
RM = CValue * 3.92;
SGD = CValue * 1.35;
SAR = CValue * 3.75;
System.out.print("US = " + formatter.format(CValue) + "EUR =" + formatter.format(EUR) + "RM =" + formatter.format(RM) + "SGD =" + formatter.format(SGD) + "SAR =" + formatter.format(SAR));
}
System.out.println("\nDo you which to Continue if Yes press 'Y' other wise press 'N'");//modified
choice = input.next().toCharArray()[0];//modified
}while(choice!='N');//modified
}
你可以使用 while(true) as
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
DecimalFormat formatter = new DecimalFormat("#0.00");
String CType, c1 = "US", c2 = "EUR", c3 = "RM", c4 = "SAR";
double CValue , US, EUR, RM, SGD, SAR;
System.out.println("Welcome to Bonus Calculator");
while (true) {
System.out.println("Enter any of the following Currencies:");
System.out.print("US\n" +
"EUR\n" +
"RM\n" +
"SGD\n" +
"SAR: ");
CType = input.next();
if(CType.equalsIgnoreCase("EXIT"))
break;
if (CType.equalsIgnoreCase("US")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
EUR = CValue * .88;
RM = CValue * 3.92;
SGD = CValue * 1.35;
SAR = CValue * 3.75;
System.out.print("US = " + formatter.format(CValue) + "EUR =" + formatter.format(EUR) + "RM =" + formatter.format(RM) + "SGD =" + formatter.format(SGD) + "SAR =" + formatter.format(SAR));
} else if (CType.equalsIgnoreCase("EU")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 1.14;
RM = US * 3.92;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("EUR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " RM = " + formatter.format(RM) + " SGD = " + formatter.format(SGD) + " SAR = " + formatter.format(SAR));
} else if (CType.equalsIgnoreCase("RM")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * .26;
EUR = US * .88;
SGD = US * 1.35;
SAR = US * 3.75;
System.out.print("RM = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " SAR = " + formatter.format(SAR));
} else if (CType.equalsIgnoreCase("SGD")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.74;
EUR = US * .88;
RM = US * 3.92;
SAR = US * 3.75;
System.out.print("SGD = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SAR = " + formatter.format(SAR) + " RM = " + formatter.format(RM));
} else if (CType.equalsIgnoreCase("SAR")) {
System.out.print("Enter Value: ");
CValue = input.nextInt();
US = CValue * 0.39;
EUR = US * .88;
RM = US * 3.92;
SGD = US * 1.35;
System.out.print("SAR = " + formatter.format(CValue) + " US = " + formatter.format(US) + " EUR = " + formatter.format(EUR) + " SGD = " + formatter.format(SGD) + " RM = " + formatter.format(RM));
}
}
}
当用户键入 EXIT 时,它会从 loop.You 退出,作为用户的一个选项。