java的简单练习题不会做。。。
模拟银行卡密码输入验证功能,共有三次输入机会。输入字符串类型的数字密码,验证密码是否等于121234,若是则输出“登录成功”,若不是,前两次返回“输入不正确,请重新输入”,第三次输入不正确返回“密码输入已达上限,请明日再试”。求大佬帮帮我。。 写个for循环,开启程序后进入第一次循环,用户先输入数据,程序接收数据,判断是否相等,不等于则输出“重新输入”然后continue,进入第二次循环,提示用户输入,用户输入数据,if判断数据是否正确,不正确就输出错误提示然后continue,如果输入正确,提示登陆成功,break,跳出循环,程序结束。所以写个能够遍历三次的for循环,一个if..else就可以了 如图 递归实现,这个感觉比循环三次要好一些import java.util.Scanner;
public class Login {
private int count = 0;
private String passWord = "121234";
public static void main(String[] args) {
Login login = new Login();
login.logOn();
}
private void logOn(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入密码");
String key = scanner.next();
if(passWord.equals(key)){
System.out.println("登录成功");
}else{
count ++;
if(count ==3){
System.out.println("密码输入已达上线,请明日再试");
return;
}
System.out.println("输入不正确,请重新输入");
logOn();
}
}
} 本帖最后由 连帅帅 于 2020-12-10 18:03 编辑
//方式一:
public void test(){
int i = 3;
Scanner scanner = new Scanner(System.in);
while (i != 0){
System.out.println("请输入密码:");
String next = scanner.next();
if(next.equals("121234")){
System.out.println("登陆成功!");
break;
}else
System.out.println("密码错误,你还有"+(i-1)+"次机会!");
i--;
}
}
//方式二:
public void test(){
Scanner scanner = new Scanner(System.in);
for (int i = 3 ; i > 0 ; i--){
System.out.println("请输入密码:");
String next = scanner.next();
if(next.equals("121234")){
System.out.println("登陆成功!");
break;
}else
System.out.println("密码错误,你还有"+(i-1)+"次机会!");
}
} a ="密码"
for(int i =1;i<4;i++){
System.out.println("请输入密码:");
String b=sc.next();
if(b.equals (a)){
System.out.println("登陆成功");
break;
}else{
if(i<3){
System.out.println("密码错误,请重新输入!");
} else {
System.out.println("三次已过,请明日再来尝试");
}
}
//这是判断的主要方法.
在这里的重点是在于两个字符串怎么样会相等,在这里两个字符串相等用的是String中的方法是equals,而不是“==”
页:
[1]