在第一步骤,打算用循环语句来判断输入的数字,但不知道哪里出错了.求各位帮帮忙看一下.我的思路是:通过输入数字0或1来代表"否"和"是",①判断输入的是否是0或1,②真:继续判断是0还是1,给出具体的应答;否,重新输入.

来源:12-1 综合练习

梁梁梁世豪

2016-08-20 10:21

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回答

  • ziom
    2016-08-20 16:31:45
    已采纳

    while中的条件错了,||逻辑运算符的规则是有任一条件为true,则返回true。所以你写成这样,除非这世上有一个数可以同时等于0和1才能使这个条件为false从而退出循环

    梁梁梁世豪

    呼~~终于写完了.. 我写的时候,发现写成 while (!((inPut == 0) ^ (inPut == 1))) 也是可以的. 预期效果:如果输入的是0或1,则退出循环.否则一直循环提示重新输入0或1.

    2016-08-23 21:30:47

    共 3 条回复 >

  • 梁梁梁世豪
    2016-08-20 10:23:59

    补充一下. 我做过debug测试,问题是在循环语句哪里,不论我输入什么数字,都跳不出循环.主要想问一下为什么会出现这样的情况.

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530784 学习 · 6091 问题

查看课程

相似问题