java - 为什么 for 循环中的 if 条件不运行?
问题描述
该代码基本上会生成一个 Pincode 并要求用户编写它。然后显示输入是否正确。此外,如果用户在一两次试验后立即得到它,它应该显示“你在(一两次)试验中成功猜出了你的密码”
package assign4;
import java.util.*;
public class assign4 {
public static void main (String[]args) {
Scanner sc = new Scanner(System.in);
int min = 999;
int max = 10000;
int generatedPin = (int) (Math.random()*(max-min+1)+min);
System.out.println("Please enter the pincode sent to you " + generatedPin);
int input = sc.nextInt();
if (input == generatedPin) {
System.out.println("you succeeded to guess your pincode in one trial");
}
for(int i = 0; input != generatedPin && i<3; i++) {
if (i==0) {
System.out.println("wrong pin! two trial left!");
input = sc.nextInt();
} else
为什么以下if
条件不运行?
if (i==1) {
System.out.println("wrong pin! one trial left!");
input = sc.nextInt();
if (input == generatedPin) {
System.out.println("you succeeded to guess your pincode in 1 trial");
}
}
else
if (i==2)
System.out.println("wrong pin! we will lock your account");
}
}}
解决方案
正如您设置的循环条件一样,如果 input == generatedPin 则循环将立即中断,因此“if”成为无法访问的代码
推荐阅读
- r - 获取在 ggplot2 中制作的图形图像的问题
- r - R Shiny:在同一个下拉菜单中右对齐和左对齐
- python - 如何从 DataFrame 中提取一个整数以在 DataFrame.rolling() 中使用?
- sql - 我想对一列求和,直到达到负值,然后在 Google BQ 中重新开始求和
- java - Android Studio:“无法针对平台:'Java SE 11' 使用工具链:'JDK 8 (1.8)'。”
- django - 使用 formset 元素保存对象并使用新的相关元素制作副本
- html - HTML 未按书面形式呈现:锚标记在父级之外重复
- ios - iOS:这两个应用程序如何在后台运行?
- c# - 如何在 C# 中用另一个集合值填充一个空的对象集合
- django - Django Rest Framework Django 过滤器 ModelMultipleChoiceFilter 不适用于 icontains