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

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

在第一步驟,打算用循環語句來判斷輸入的數字,但不知道哪里出錯了.求各位幫幫忙看一下.我的思路是:通過輸入數字0或1來代表"否"和"是",①判斷輸入的是否是0或1,②真:繼續判斷是0還是1,給出具體的應答;否,重新輸入.

package com.imooc;

import java.util.Scanner;


public class Initial {

? ? public static ?int inPut1;

? ??

public static void main(String[] args) {

// TODO Auto-generated method stub

? ? ? ??

Scanner input1 = new Scanner(System.in);//獲取用戶輸入的指令

? ? ? ? System.out.println("您是否想要租車? ");

? ? ? ? System.out.println("是,請回復1;否,請回復0");

? ? ? ? inPut1 = input1.nextInt();

? ? ? ? ?

? ? ? ? ? ? if ((inPut1 != 0 )|| (inPut1 != 1)){

? ? ? ? ? ? do {

? ? ? ? ? ?Scanner input1a = new Scanner(System.in);

? ? ? ? ? ?System.out.println("請輸入數字1或0.1表示'是';0表示'否'.");

? ? ? ? ? ?inPut1= input1a.nextInt();

? ? ? ? ? ?//continue;

? ? ? ? ? ? }while ( (inPut1 != 0) ||(inPut1 != 1));

? ? ? ? ? ? }else{

? ? ? ? ? ? switch (inPut1){

? ? ? ? ? ?case 0:

? ? ? ? ? ? ? ?System.out.println("退出 答答打車 程序");

? ? ? ? ? ?case 1:

? ? ? ? ? ? ? ?System.out.println("您可租車的類型與及其價格表,如下:");

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ?}

? ? ? ? ? ?

? ? ? ? ? ? }

? ? ? ? ? ??

? ? ? ? ? ? }

? ? ? ? ?

}

? ? ? ? //調用各類汽車的型號價目表


正在回答

2 回答

while中的條件錯了,||邏輯運算符的規則是有任一條件為true,則返回true。所以你寫成這樣,除非這世上有一個數可以同時等于0和1才能使這個條件為false從而退出循環

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

ziom

改成 while (!(inPut1 == 0)||(inPut1 == 1))就好了
2016-08-20 回復 有任何疑惑可以回復我~
#2

梁梁梁世豪 提問者

謝謝您!發現自己做的過程中想當然了.
2016-08-20 回復 有任何疑惑可以回復我~
#3

梁梁梁世豪 提問者

呼~~終于寫完了.. 我寫的時候,發現寫成 while (!((inPut == 0) ^ (inPut == 1))) 也是可以的. 預期效果:如果輸入的是0或1,則退出循環.否則一直循環提示重新輸入0或1.
2016-08-23 回復 有任何疑惑可以回復我~

補充一下. 我做過debug測試,問題是在循環語句哪里,不論我輸入什么數字,都跳不出循環.主要想問一下為什么會出現這樣的情況.

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

舉報

0/150
提交
取消

在第一步驟,打算用循環語句來判斷輸入的數字,但不知道哪里出錯了.求各位幫幫忙看一下.我的思路是:通過輸入數字0或1來代表"否"和"是",①判斷輸入的是否是0或1,②真:繼續判斷是0還是1,給出具體的應答;否,重新輸入.

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

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

幫助反饋 APP下載

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

公眾號

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