在这里,我正在比较用户ID和密码数组的数组元素。
我希望在else
条件错误的情况下,if
语句仅打印一次。
我可以使用其他变量吗?或者有人可以建议我是否可以在任何地方使用break
语句。
public static void main(String args[])
{
lib1 o=new lib1();
Scanner in=new Scanner(System.in);
Scanner sc=new Scanner(System.in);
int u[]={51,52,53,54,55};
int p[]={1,2,3,4,5};
int d=0;
System.out.println("enter username and password");
int un=in.nextInt();
int pw=in.nextInt();
for(int i=0,j=0;i<5 && j<5;i++,j++)
{
if(un==u[i] && pw==p[j])
{
while(d==0)
{
System.out.println("enter subject name");
String c=sc.nextLine();
if(c.equals("java"))
o.java();
else if(c.equals("exit"))
{
d++;
}
}
}
else
{
System.out.println("invalid password");
}
}
}
答案 0 :(得分:3)
在break
块的末尾添加一个else
。这将使您立即退出for循环。
答案 1 :(得分:1)
public static void main(String args[])
{
lib1 o=new lib1();
Scanner in=new Scanner(System.in);
Scanner sc=new Scanner(System.in);
int u[]={51,52,53,54,55};
int p[]={1,2,3,4,5};
int d=0;
System.out.println("enter username and password");
int un=in.nextInt();
int pw=in.nextInt();
for(int i=0,j=0;i<5 && j<5;i++,j++)
{
if(un==u[i] && pw==p[j])
{
while(d==0)
{
System.out.println("enter subject name");
String c=sc.nextLine();
if(c.equals("java"))
o.java();
else if(c.equals("exit"))
{
d++;
}
}
}
else
{
System.out.println("invalid password");
break;
}
}
}
这是快速解决您的问题的方法,但是您也可以使用其他实现方法
答案 2 :(得分:1)
您可以在循环中要立即退出循环的任何位置放置break
语句。这意味着您可以将其放在else
块中,或if
块中,或需要中断的地方。在嵌套循环中,break
语句只会从调用它的立即循环中中断。
此外,在您的代码中,创建两个使用Scanner
作为输入源的System.in
对象。不建议这样做,因为如果一个Scanner
关闭了,另一个也将关闭。相反,仅创建一个Scanner
对象,并在完全完成该对象后将其关闭。
答案 3 :(得分:1)
Add if statement in end as shown in bold in code below.
public static void main(String args[])
{
lib1 o=new lib1();
Scanner in=new Scanner(System.in);
Scanner sc=new Scanner(System.in);
int u[]={51,52,53,54,55};
int p[]={1,2,3,4,5};
int d=0;
System.out.println("enter username and password");
int un=in.nextInt();
int pw=in.nextInt();
for(int i=0,j=0;i<5 && j<5;i++,j++)
{
if(un==u[i] && pw==p[j])
{
while(d==0)
{
System.out.println("enter subject name");
String c=sc.nextLine();
if(c.equals("java"))
o.java();
else if(c.equals("exit"))
{
d++;
}
}
}
}
**if(d == 0) {
System.out.println("invalid password");
}**
}