思路:要判断一个长度为n的一维数组是否对称,即判断数组下标为 i 的元素和下标为 n-1-i 的元素值是否相等(i=0,1,2...,n-1),
package homework;
import java.util.Scanner;
public class Test_01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 1、判断一个一维数组是否对称,例如{1,2,1}、{1,2,2,1}。
*/
int symArr[] = new int [5];
Scanner sc = new Scanner(System.in);
int count;
for(count=0;count<symArr.length;count++){
System.out.println("请输入第"+(count+1)+"个元素值:");
symArr[count] = sc.nextInt();
System.out.println(count);
}
System.out.println("数组输入结束!\n\n输出数组:\n");
for(int a:symArr){ //增强for循环输出数组
System.out.print(a+"\t");
}
System.out.println("\n");
//判断数组是否为对称数组,需判断数组中的第1项与第5项相等,第2项与第4项相等...
boolean result = false ;
for(int i=0;i<symArr.length/2;i++) {
if(symArr[i]==symArr[symArr.length-1-i]) {
result = true;
}else {
result = false;
}
}
if(result==true)
System.out.println("该数组是对称数组!");
else System.out.println("该数组不是对称数组!");
}
}