- package com.heima.test;
- public class Test3 {
- /**
- * 分析以下需求,并用代码实现:
- (1)定义数字字符串数组{"010","3223","666","7890987","123123"}
- (2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,
- 第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出
- (3)如:010 是对称的,3223 是对称的,123123 不是对称的
-
- 提示:循环获取字符串的每一个字符,依次比较第一个和最后一个,第二个和倒数第二个。。。
- 思路:
- 1.定义一个标志flag,当flag为true时,表示一个数字字符串满足(2)中要求
- 2.循环遍历数组中的元素for循环,元素满足条件时,即flag=true时,输出打印这个元素
- 3.在for循环中内嵌一个for循环判断每个数字字符串是否满足(2)中要求,不满足要求,设置标记flag,为false,同时跳出内循环
- */
-
- public static void main(String[] args) {
-
- String[] arr = {"010", "3223", "666", "7890987", "123123"};
-
- printArray(arr);
-
- }
- public static void printArray(String[] arr) {
-
- boolean flag = true;
- for (int i = 0; i < arr.length; i++) {
- for (int j = 0; j < arr[i].length()/2; j++) {
-
- //获取字符数组中第(i+1)字符串中的第(j+1)个字符
- char ch1 = arr[i].charAt(j);
- //获取字符数组中第i个字符串中的倒数第(j+1)个字符
- char ch2 = arr[i].charAt(arr[i].length()-1-j);
- //判断这个两个字符是否相等
- if (ch1 != ch2) { //不相等,不满足要求
- flag = false; //不满足要求设置标记flag为false
- break; //跳出循环,停止判断第i个字符串,判断下一个字符串
- }
- }
- if (flag) {
- System.out.println(arr[i] + " 是对称的");
- } else {
- System.out.println(arr[i] + " 是不对称的");
- }
- }
- }
- }
复制代码
|