题目描述:

设计一个简单的Java登录程序。若用户输入正确的用户名和密码,则显示欢迎信息,否则输错超过三次后自动推出系统。

解题思路:

        提前创建多个字符串,来表示用户名,输入的用户名没有的话,就让多次输入,直到有对应的用户名为止。接下来就输入密码,把输入的密码与用户名下对应的密码相比较,用for()循环中的变量i来记录输密码的次数,输入对了就终止程序,输错三次也终止程序

代码参考:

import java.util.Scanner;

class Hello {

    public static void main(String[] args) {
//		 TODO Auto-generated method stub
        String n1=new String("Hello java");
        String n2=new String("你好,Java");//创建任意个数组,来代表已注册的用户名
        System.out.println("请输入用户名:");
        Scanner in=new Scanner(System.in);
        String x=in.nextLine();//输入用户名
        while(x.equals(n1)==false&&x.equals(n2)==false) {
            System.out.println("用户不存在,请再次输入");
            x=in.nextLine();
        }//如果输入的用户名不对,没有与之对应的,就多次输入直到有对应的用户名为止
        switch(x) {
            case "Hello java"://判断输入的用户名是哪一个用户
                System.out.println("你的用户名是"+n1+"\n请输入密码");
                for(int i=0;i<3;i++) {//用来记录输密码的次数,如果输入正确的密码就直接终止程序
                    String m = in.nextLine();
                    if (m.equals("Hello Word")) {
                        System.out.println("正在登录请稍后 》》");
                        break;//如果输入正确的密码就直接终止程序
                    } 
                    else System.out.println("请在输入一次,你还有" + (2 - i) + "次输入机会");
                }
                break;//输错超过三次,终止程序
            case "你好,Java"://判断输入的用户名是哪一个用户
                System.out.println("你的用户名是"+n2+"\n请输入密码");
                for(int i=0;i<3;i++) {//用来记录输密码的次数,
                    String m=in.nextLine();
                    if(m.equals("你好,世界”")) {
                        System.out.println("正在登录请稍后 》》");
                        break;//如果输入正确的密码就直接终止程序
                    }
				    else System.out.println("密码错误 请在输入一次,你还有"+(2-i)+"次输入机会");
                }
                break;
        }


    }
}

<修改了代码中因大括号位置不正确,导致else语句与if语句分离,运行时else语句报错问题>

更多推荐

用Java编写一个简单的【登录程序】