亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大??纯次疫@個代碼應該怎么填寫

package com.hei;

import java.util.*;

public class lianxi {

?public static void main(String[] args) {
??// 提醒用戶輸入計算方法
??Scanner input = new Scanner(System.in);
??System.out.println("請輸入第一個數:");
??double a = input.nextDouble();
??System.out.println("請輸入第二個數:");
??double b = input.nextDouble();
??while (true) {
???System.out.println("******************");
???System.out.println("1.輸出兩個數的和:");
???System.out.println("2.輸出兩個數的差:");
???System.out.println("3.輸出兩個數的乘積:");
???System.out.println("4.輸出兩個數的商:");
???System.out.println("5.重新輸入數字");
???System.out.println("6.退出.");
???// 定義變量c保存用戶選擇的計算方法
? int c = input.nextInt();
???switch (c) {
???case 1:
????double x = a + b;
????System.out.println("兩個數的和:" + x);
????break;
???case 2:
????double x1 = a - b;
????System.out.println("兩個數的差:" + x1);
????break;
???case 3:
????double x2 = a * b;
????System.out.println("兩個數的乘積:" + x2);
????break;
???case 4:
????double x3 = a / b;
????System.out.println("兩個數的商:" + x3);
????break;
???case 5:
????
????break;
???case 6:
????break;
???default:
????System.out.println("請確保輸入范圍在1~5之間");
???}
??}

?}

}

我的想法是在switch中的 case 5返回前面再次要用戶輸入變量a和b,一開始我的想法是定義一個方法但是這樣a和b是局部變量,我在main方法中調用不到,想問下如何實現case 5可以返回再次輸入變量a和b

正在回答

5 回答

既然你已經定義了值為true的循環,那可以將

System.out.println("請輸入第一個數:");
??double a = input.nextDouble();
??System.out.println("請輸入第二個數:");
??double b = input.nextDouble();

放到while循環里,每次用戶計算完畢或者選擇重新輸入后都會跳轉回輸入數字欄

0 回復 有任何疑惑可以回復我~
#1

qq_Kindergarten_0 提問者

非常感謝!
2018-06-03 回復 有任何疑惑可以回復我~
public?class?Print{
????public?static?void?main(String[]?args)?{
???????Scanner?input=new?Scanner(System.in);
???????for(int?i?=?0;?i?<4?;)?{
?????????System.out.print("請輸入1或者2:");
?????????int?a=input.nextInt();
?????????i++;
?????????if?(a>2){
?????????System.out.println("您的輸入有誤,請重新輸入!");
?????????}else{
???????????i++;
?????????}???
????????}
????}
}

希望對你有幫助?。?br />

0 回復 有任何疑惑可以回復我~
import?java.util.Scanner;

public?class?Test?{
????public?static?void?main(String[]?args)?{
????????math();//抽取方法
????}
????public?static?void?math(){
????????//?提醒用戶輸入計算方法
????????Scanner?input?=?new?Scanner(System.in);
????????System.out.println("請輸入第一個數:");
????????double?a?=?input.nextDouble();
????????System.out.println("請輸入第二個數:");
????????double?b?=?input.nextDouble();
????????while?(true)?{
????????????System.out.println("******************");
????????????System.out.println("1.輸出兩個數的和:");
????????????System.out.println("2.輸出兩個數的差:");
????????????System.out.println("3.輸出兩個數的乘積:");
????????????System.out.println("4.輸出兩個數的商:");
????????????System.out.println("5.重新輸入數字");
????????????System.out.println("6.退出.");
????????????//?定義變量c保存用戶選擇的計算方法
????????????int?c?=?input.nextInt();
????????????switch?(c)?{
????????????????case?1:
????????????????????double?x?=?a?+?b;
????????????????????System.out.println("兩個數的和:"?+?x);
????????????????????break;
????????????????case?2:
????????????????????double?x1?=?a?-?b;
????????????????????System.out.println("兩個數的差:"?+?x1);
????????????????????break;
????????????????case?3:
????????????????????double?x2?=?a?*?b;
????????????????????System.out.println("兩個數的乘積:"?+?x2);
????????????????????break;
????????????????case?4:
????????????????????double?x3?=?a?/?b;
????????????????????System.out.println("兩個數的商:"?+?x3);
????????????????????break;
????????????????case?5:
????????????????????math();//再次執行該方法
????????????????????break;
????????????????case?6:
????????????????????System.out.println("退出成功");
????????????????????return;//完全停止
????????????????default:
????????????????????System.out.println("請確保輸入范圍在1~5之間");
????????????}
????????}
????}
}

希望對你有幫助

1 回復 有任何疑惑可以回復我~
#1

qq_Kindergarten_0 提問者

謝謝!
2018-06-03 回復 有任何疑惑可以回復我~

可以把main方法里邊的代碼?抽成一個方法,然后case5?就調這個方法

0 回復 有任何疑惑可以回復我~
#1

情不知所起丶

main(){ math(); } //抽出來的方法 math(){ //循環就可以去掉了 switch(num){ ... case 5: math(); ... } }
2018-05-28 回復 有任何疑惑可以回復我~
#2

qq_Kindergarten_0 提問者

已經了解了謝謝
2018-06-03 回復 有任何疑惑可以回復我~

你可以直接把整個main的代碼寫到 ?while(){代碼} ?里去,怎么樣跳出隨你自己寫,這里我覺得你最好寫一個方法,把這些代碼放到方法里去,然后在main里調用方法,,不過是不是你還沒學到這里,,哈哈

0 回復 有任何疑惑可以回復我~
#1

qq_Kindergarten_0 提問者

不是,是因為練習的少,老是想不起知識點該怎么運用.
2018-06-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求大??纯次疫@個代碼應該怎么填寫

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號