StringBuilder中的reverse练习

本文介绍了一个简单的Java程序,用于判断数字字符串数组中的元素是否为对称字符串,并统计对称字符串的数量。
/*
分析以下需求,并用代码实现:
    (1)定义数字字符串数组{"010","3223","666","7890987","123123"};
    (2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出;
    (3)如:010 是对称的,3223 是对称的,123123 不是对称的;
    (4)最终打印该数组中对称字符串的个数。
    注:判断对称可用StringBuilder中的reverse(),将此字符序列用其反转形式取代。
 */
public class Demo2 {
    public static void main(String[] args) {
        String[] array = {"010", "3223", "666", "7890987", "123123"};
        int count = 0;
        for (int i = 0; i < array.length; i++) {
            StringBuilder sb = new StringBuilder(array[i]);
            sb.reverse();
            if (sb.toString().equals(array[i])) {
                count++;
            }
        }
        System.out.println(count);
    }
}

### 关于Java中For循环的练习题 以下是几个经典的 `for` 循环练习题目及其对应的代码示例: #### 题目一:输出1到10之间的数字 使用简单的 `for` 循环来打印从1到10的所有整数。 ```java public class PrintNumbers { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.println(i); } } } ``` 此程序展示了如何利用基本的 `for` 循环结构完成一系列连续操作[^2]。 #### 题目二:计算并显示给定范围内所有偶数之和 编写一段代码,求解指定范围内的所有偶数总和。假设我们设定这个区间是从2至20。 ```java public class SumOfEvens { public static void main(String[] args) { int sum = 0; for (int j = 2; j <= 20; j += 2){ sum += j; } System.out.println("Sum of even numbers between 2 and 20 is: "+sum); } } ``` 在这个例子中,初始化条件设置为j等于2,并且每次迭代都让j增加2以确保只处理偶数值[^3]。 #### 题目三:寻找特定长度下的回文数 下面这段代码可以用来找出所有的五位数形式上的回文数——也就是那些满足首尾对称性质的大自然数。 ```java public class PalindromeFinder { public static void main(String[] args){ for(int number=10000;number<=99999;number++){ if(isPalindrome(number)){ System.out.print(number+" "); } } } private static boolean isPalindrome(int value){ String strValue=Integer.toString(value); StringBuilder sb=new StringBuilder(strValue).reverse(); return strValue.equals(sb.toString()); } } ``` 上述方法定义了一个辅助函数用于判断某个具体正整数是否具有镜像特性;然后在外层遍历整个可能空间期间调用了该判定逻辑[^4]。 ### 更复杂的实例分析 考虑这样一个场景需求:“用户输入两个参数a和n”,接着按照一定规律累加得到最终结果。” 这里给出了完整的解决方案如下所示: ```java import java.util.Scanner; public class ComplexAddition{ public static void main(String []argh){ Scanner sc =new Scanner(System.in); System.out.println("Enter first integer:"); int a=sc.nextInt(); System.out.println("How many terms?"); int n=sc.nextInt(); long currentTerm=a,totalSum=0L; for(int index=0 ;index<n ;++index ){ totalSum+=currentTerm ; // Update next term by appending 'a' at its end. currentTerm=currentTerm*10+a; } System.out.printf("%d consecutive additions starting with %d yields:%d%n",n,a,totalSum ); } } ``` 以上脚本接受标准流中的两组数据作为起点以及重复次数依据来进行逐步构建每一项并通过累积得出最后答案[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值