请问这代码出了什么问题,新人不懂怎么找出为什么错了

来源:2-2 遍历目录

dakela

2017-05-16 20:47

import java.util.Scanner;

public class test1{

public static void main(String[]args){

char weekSecond;

Scanner input=new Scanner(System.in);

System.out.println("请输入第一个字母");

String letter=input.next();


if(letter.length()==1){

char weekFirst=letter.charAt(0);

switch(weekFirst){

case'm':

case'M':

System.out.println("星期一");

break;

case't':

case'T':

System.out.println("由于星期二和星期四都是T开头,请继续输入第二个字母");

letter=input.next();

if(letter.length()==1){

weekSecond=letter.charAt(0);

if(weekSecond=='U'||weekSecond=='u');{

System.out.println("星期二");

break;

}else if(weekSecond=='H'||weekSecond=='h'){

System.out.println("星期四");

break;

}else{                                                //这里的else有错,不懂

System.out.println("输入第二个错误,请重新输入");

break;}

else{                                            //这里的else有错,不懂

System.out.println("输入超过一个字母,请重新输入");

break;

}

}

case'w':

case'W':

System.out.println("星期三");

break;

case'f':

case'F':

System.out.println("星期五");

break;

case's':

case'S':

System.out.println("星期六和星期天都是s开头,需要输入第二个字母");

letter=input.next();

if(letter.length()==1){

weekSecond=letter.charAt(0);

if(weekSecond=='A'||weekSecond=='a'){

System.out.println("星期六");

break;

}

else if(weekSecond=='U'||weekSecond=='u'){

System.out.println("星期天");

break;

}

else{

System.out.println("输入错误,请重新输入");

}

else{                                                //这里的else有错,不懂

System.out.println("输入超过一个字母,请重新输入");

break;

}

}

default:

System.out.println("默认输出,无法识别,请重新输入");

break;

}else{

System.out.println("最后输入错误,只能输入一个字母,请重新输入");

}

}

}

}


写回答 关注

3回答

  • weibo_孟辉梦笔生花
    2017-05-17 12:38:35

    package com.xingzhuang;

    import java.util.Scanner;
    public class test1{
        public static void main(String[]args){
            char weekSecond;
            Scanner input=new Scanner(System.in);
            System.out.println("请输入第一个字母");
            String letter=input.next();

            if(letter.length()==1){
                
                char weekFirst=letter.charAt(0);
                switch(weekFirst){
                case'm':

            case'M':

                System.out.println("星期一");

                break;


            case't':


            case'T':


                System.out.println("由于星期二和星期四都是T开头,请继续输入第二个字母");

     
                letter=input.next();


                if(letter.length()==1){


                    weekSecond=letter.charAt(0);


                    if(weekSecond=='U'||weekSecond=='u'){

        
                        System.out.println("星期二");

                        break;


                    }else if(weekSecond=='H'||weekSecond=='h'){
        
                        System.out.println("星期四");
        
                        break;


                    }else{                                                //这里的else有错,不懂


                        System.out.println("输入第二个错误,请重新输入");


                        break;
                        }


                } else{                                            //这里的else有错,不懂


                    System.out.println("输入超过一个字母,请重新输入");


                    break;


                }




            case'w':


            case'W':


                System.out.println("星期三");


                break;


            case'f':


            case'F':


                System.out.println("星期五");


                break;


            case's':


            case'S':


                System.out.println("星期六和星期天都是s开头,需要输入第二个字母");


                letter=input.next();


                if(letter.length()==1){
                    weekSecond=letter.charAt(0);


                    if(weekSecond=='A'||weekSecond=='a'){


                        System.out.println("星期六");


                        break;


                    }


                    else if(weekSecond=='U'||weekSecond=='u'){


                        System.out.println("星期天");


                        break;


                    }else{


                        System.out.println("输入错误,请重新输入");


                    }


                }else{                                                //这里的else有错,不懂


                        System.out.println("输入超过一个字母,请重新输入");


                        break;


                    }

            default:


                System.out.println("默认输出,无法识别,请重新输入");


                break;
                }


            

            
                }else{


                    System.out.println("最后输入错误,只能输入一个字母,请重新输入");


                }


        }
        

    }




  • weibo_孟辉梦笔生花
    2017-05-17 12:31:11

    第一处if(weekSecond=='U'||weekSecond=='u'){} 去掉 ;    第二次else 前面加{ 

  • weibo_孟辉梦笔生花
    2017-05-17 12:25:03

    一个if 对应一个else  你上面已经有else了

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133773 学习 · 1030 问题

查看课程

相似问题