java - 你如何编写一个java程序来生成前100个回文数(从11、22等开始),每行10个数字
问题描述
我知道您必须使用 for 循环,并且我已将其范围缩小到使用整数的长度来比较所述整数的某些位置以确定它是否是回文。你怎么会得到整数的长度呢?我不需要完整的代码,我只需要知道您将如何获得长度,因为我很肯定我的想法会起作用。
编辑)我让它工作,但我必须每行分隔 10 个回文数。如何做到这一点?如果有帮助,我应该分享我的代码吗?像这样:1,2,3,4,5,6,7,8,9,10 11,12,13,14,15,16,17,18,19,20
编辑#2)我完成了这个,但我不确定我应该关闭这个问题还是删除它,因为这对其他人来说似乎是一个常见的问题。谢谢大家!但是,它有效。我只是在每个循环中反转数字,如果它等于 originL,那么它就是回文。
解决方案
使用RxJava
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.functions.Consumer;
public class Palindro {
private static boolean isPalindrome(int x) {
String s1 = String.valueOf(x);
StringBuilder r1 = new StringBuilder(s1).reverse();
return r1.toString().equals(s1);
}
public static void main(String[] args) {
Observable.range(11, Integer.MAX_VALUE - 10)
.filter(x -> isPalindrome(x))
.take(100)
.subscribe(new Printer());
}
}
class Printer implements Consumer<Integer> {
private int counter;
@Override
public void accept(Integer t) throws Throwable {
if (counter % 10 == 0) {
System.out.println();
}
System.out.printf("%d ", t);
counter++;
}
}
take
如果您想要少于或多于前 100 个回文数,只需将参数更改为方法。
推荐阅读
- php - 使用 ON DUPLICATE KEY UPDATE 查询
- google-data-studio - Google 数据洞察中的运行平均值
- python - 将 JSON 格式的字符串导入 numpy.recarray 的最快方法?
- c# - 使用 EWS 获取基于 SearchFilters 的电子邮件的错误丢失电子邮件
- django - 在我需要担心之前,API 调用可能需要多长时间?
- python - 用于避免张量构造的嵌套循环的 Numpy 解决方案
- reactjs - 类型错误:this.state.schedulelistnew.map 不是函数
- excel - Excel VBA从表格范围创建唯一列表后删除空白行
- ruby-on-rails - Google Calendar Api:将通知电子邮件添加到活动时如何向与会者发送通知?
- python - 在 TestCase 执行期间 django.db.connection.cursor() SQL 查询从主数据库返回数据,而不是从测试数据库返回数据