为了账号安全,请及时绑定邮箱和手机立即绑定

怎么做咧,各位大神求助!!

(if语句的嵌套应用)输入一个整数,用if语句判断输入的是否是三位数,如果是三位数,则再让用户输入1-3其中之一进行选择,用嵌套的if语句判断,若输入1则输出其个位,若输入2则输出其十位,若输入3则输出其百位。如果一开始输入的不是三位数,则提示其输入错误

正在回答

2 回答

import java.util.Scanner;

public class Test {
 public void getNum(String num){
     String result = "";
     char[] numArray = num.toCharArray();
     if(numArray.length==3){
      Scanner sc = new Scanner(System.in);
      System.out.println("请从[1,2,3]其中之一进行选择,输入其他退出:");
      while(true){
       String value = sc.next();
       if("1".equals(value)){
        System.out.println("个位:"+numArray[2]);
       }else if("2".equals(value)){
        System.out.println("十位:"+numArray[1]);
       }else if("3".equals(value)){
        System.out.println("百位:"+numArray[0]);
       }else{
        System.out.println("执行结束!");
        return;
       }
      }
     }else{
      System.out.println("输入错误,执行结束!");
     }
 }
 
 public static void main(String[] args){
  Test test = new Test();
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个3位数:");
  String num = sc.next();
  test.getNum(num);
 }
}


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

qq_酸涩的糖葫芦_0 提问者

天呐!!!看不懂啊!!!我只是个初学者呀!大神。
2015-11-04 回复 有任何疑惑可以回复我~

#include<stdio.h>


int main()

{

    int i=0,x=0;

    printf("请输入一个三位整数\n");

    scanf("%d",&i);

    if(i>=100 && i<=999)

    {

        printf("请输入1~3任意一位整数!\n");

        scanf("%d",&x);

        if(x!=1&&x!=2&&x!=3)printf("你输入的不是1~3内整数,自动退出程序!\n");

        else 

        {

            switch(x)

            {

                case 1:

                    printf("个位数为%d",i%10);

                    break;

                case 2:

                    printf("十位数为%d",i/10%10);

                    break;

                case 3:

                    printf("百位数为%d",i/100);

                    break;

            }

        }

    }

    else

    {

        printf("你输入的不是三位整数!自动退出!");

        return 1;

    }

getchar();

    return 0;    

}


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

贱e恛忆

vs2012亲测,可用,纯手打,求采纳
2015-11-04 回复 有任何疑惑可以回复我~
#2

贱e恛忆 回复 贱e恛忆

在最后用到了getchar()这个函数是为了让程序停留在这,如果不加的话程序会一闪而过,如果还是出现一闪而过的现象,可以考虑讲getchar()函数在最后位置添加两遍
2015-11-04 回复 有任何疑惑可以回复我~
#3

qq_酸涩的糖葫芦_0 提问者

可以不用 switch语句麽??我们要求用if嵌套呀。
2015-11-04 回复 有任何疑惑可以回复我~
#4

贱e恛忆 回复 qq_酸涩的糖葫芦_0 提问者

if(x==1)printf("个位数为%d",i%10); else if(x==2)printf("十位数为%d",i/10%10); else if(x==3)printf("百位数为%d",i/100);
2015-11-05 回复 有任何疑惑可以回复我~
#5

贱e恛忆 回复 贱e恛忆

把switch那几行删掉,换成上面的if语句
2015-11-05 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消
C语言入门
  • 参与学习       926206    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

怎么做咧,各位大神求助!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信