java - 我无法向用户显示输出

标签 java arrays if-statement

我编写了这段代码,但每次我尝试通过 System.out.print 语句向用户显示输出时,都会出现问题。

代码的目的是检查数组是否是“回文”。

import java.util.Scanner;
public class u {
public static void main(String[] args) {
    int [] arr = {1,2,3,4,3,2,1};
    int counter1 = 0,counter2 = arr.length-1;
    int x = arr.length/2;
    while (counter1 < x ) {
        if (arr[counter1] == arr [counter2]){
            counter1++;
            counter2--;
        } else {System.out.println(":("); break;}

    } 
    System.out.println("Bingo!");
  }}

最佳答案

如果问题是程序总是打印“Bingo!”这是因为 break 仅结束 while 循环。还有“宾果!” line 位于 while 循环之外,因此仍会被调用。您可以通过将 break 更改为 return 来避免这种情况。您还可以使用标签:

x: {
   while(...) {
        ...
        else break x;
   }
   System.out.println("Bingo!");
}

关于java - 我无法向用户显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33455737/

相关文章:

java - 尝试将 char 数组的元素转换为 int 时出现错误

java - Java 6+ 中已知的易受攻击的方法?

javascript - 强制文本框或变量的长度

Javascript for 数组中的循环行为

if-statement - 将 if 语句转换为 switch 语句

Java 相当于 Delphi NOT

java - 如何使用 iText 从 pdf 文件中提取数据

java - 如何在Java中实现Pluggable Adapter设计模式

ios - 如何在连接到另一个 viewController 的标签中显示数组计数

arrays - 表排序和查找