【发布时间】:2015-10-31 19:32:00
【问题描述】:
我编写了这段代码,但每次我尝试通过 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!");
}}
【问题讨论】:
-
您的
System.out.print()声明在哪里?您收到什么错误? -
我编辑了问题..你现在可以看到
-
您的代码运行良好。它有什么问题?
-
如果数组不是回文数组,它会给出错误的输出。
-
System.out.println("Bingo!");在while循环之外,所以它总是会被执行。我建议在循环之前声明一个boolean,设置为true。在您的else块中,包含一个将其设置为false的语句。然后,在循环之后,创建一个if语句,如果该布尔变量设置为true,则仅打印"Bingo!"。
标签: java arrays if-statement