学习Java,For循环无法呈现。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习Java,For循环无法呈现。相关的知识,希望对你有一定的参考价值。
我创造了这个 PassworField
如果用户输入了正确的密码,就会跳出这个循环。hello
. 它应该循环5次才会阻止用户。如果用户第一次输入正确的密码,它确实会中断,但当用户第一次输入错误的密码,然后在第二次尝试正确时,它不会中断。即使我输入了正确的密码,它也只是循环5次,然后就会被阻止。如果你能帮助我,我将感激不尽......把我逼疯了......我创建了这个PassworField方法。
public class LoginPage {
static String password = "hello";
static Scanner scn = new Scanner(System.in);
static String input = scn.nextLine();
public static void PasswordField() {
System.out.println("Enter the password");
for (int i = 0; i <5; i++) {
if (password.equals(input)) {
System.out.println("You are In");
break;
}
else if(!input.equals(password)) {
System.out.println("Wrong, Please Enter the Password again:");
scn.nextLine();
}
else {
System.out.println("You are Blocked sucker. call helpdesk");
}
}
scn.close();
}
答案
你缺少的是更新 input
的新值。此外,被屏蔽的逻辑应该是 之后 for循环结束。
public static void PasswordField() {
System.out.println("Enter the password");
for (int i = 0; i < 5; i++) {
if (password.equals(input)) {
System.out.println("You are In");
scn.close();
return;
} else {
System.out.println("Wrong, Please Enter the Password again:");
input = scn.nextLine();
}
}
System.out.println("You are Blocked sucker. call helpdesk");
scn.close();
}
另一答案
循环结束后,你需要检查用户是否超过了允许的最大尝试次数。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
inputPassword();
}
public static void inputPassword() {
final Scanner scn = new Scanner(System.in);
final String password = "hello";
String input;
int i;
for (i = 1; i <= 5; i++) {
System.out.print("Enter the password: ");
input = scn.nextLine();
if (password.equals(input)) {
System.out.println("You are In");
break;
} else if (i < 5) {
System.out.println("Wrong, Please Enter the Password again.");
}
}
if (i > 5) {
System.out.println("You are blocked as you have exceeded the maximum limit.");
}
}
}
一个运行示例。
Enter the password: 1
Wrong, Please Enter the Password again.
Enter the password: 2
Wrong, Please Enter the Password again.
Enter the password: 3
Wrong, Please Enter the Password again.
Enter the password: 4
Wrong, Please Enter the Password again.
Enter the password: 5
You are blocked as you have exceeded the maximum limit.
另一个示例运行。
Enter the password: 1
Wrong, Please Enter the Password again.
Enter the password: Hello
Wrong, Please Enter the Password again.
Enter the password: hello
You are In
其他一些重要的注意事项:
- 不要关闭一个
Scanner
对于System.in
临近System.in
也是。 - 遵循 Java命名惯例 如:方法。
PasswordField
应命名为passwordField
按照命名惯例。
以上是关于学习Java,For循环无法呈现。的主要内容,如果未能解决你的问题,请参考以下文章
带有边距和页面转换器的片段内的 ViewPager 无法正确呈现