我试图编写一个程序来检查一个数字在Java中是否是回文。我试图将int转换为String,并使用内置方法编写了这个逻辑。但我不知道为什么给定输入的输出不正确。
class Main {
public static void main(String[] args) {
int x=1213;
StringBuilder s= new StringBuilder();
s.append(x);
StringBuilder s2=new StringBuilder();
s2=s.reverse();
if((s.toString()).equals(s2.toString()))
{
System.out.println(x+" is a palindrome number");
}
else{
System.out.println(x+"is not a palindrome number");
}
}
你调用s.reverse()
,它在适当的位置反转s
;将其分配给s2
,因此s
和s2
是同一个对象。
您根本不需要两个StringBuilder,因为您只需要进行一次修改。
StringBuilder sb = new StringBuilder();
sb.append(x);
sb.reverse();
if (sb.toString().equals(String.valueOf(x))) {
// the number is a palindrome
}
s2=s.reverse();
这里的StringBuilder类不是不可变的,反向操作将反向原来的StringBuilder的内容,你应该在这里构造一个新的StringBuilder:
public class Main {
public static void main(String[] args) {
int x=1213;
StringBuilder s= new StringBuilder();
s.append(x);
StringBuilder s2=new StringBuilder();
s2=new StringBuilder(s).reverse();
if((s.toString()).equals(s2.toString()))
{
System.out.println(x+" is a palindrome number");
}
else{
System.out.println(x+"is not a palindrome number");
}
}
}
本文向大家介绍MATLAB检查C ++ MEX文件中的输入/输出数量,包括了MATLAB检查C ++ MEX文件中的输入/输出数量的使用技巧和注意事项,需要的朋友参考一下 示例 在此示例中,我们将编写一个基本程序,该程序检查传递给MEX函数的输入和输出的数量。 首先,我们需要创建一个实现“ MEX网关”的C ++文件。这是从MATLAB调用文件时执行的函数。 testinputs.cpp 首先,我
问题内容: 我正在使用pythons子进程模块中的subprocess.check_output执行ping命令。这是我的做法: 它引发一个CalledProcessError并说输出是该函数的参数之一。谁能帮助我如何阅读该输出。我想将输出读取为字符串并进行解析。举例来说,如果ping返回 100%丢包 我需要捕捉一下。如果还有其他更好的方法,请提出建议。谢谢。 问题答案: 在参数列表中,每个条目
使用 deque 数据结构可以容易地解决经典回文问题。回文是一个字符串,读取首尾相同的字符,例如,radar toot madam。 我们想构造一个算法输入一个字符串,并检查它是否是一个回文。 该问题的解决方案将使用 deque 来存储字符串的字符。我们从左到右处理字符串,并将每个字符添加到 deque 的尾部。在这一点上,deque 像一个普通的队列。然而,我们现在可以利用 deque 的双重功
如果给定的字符串是回文,则返回 true ;否则返回 false 。 使用 toLowerCase() 转换字符串,并使用 String.replace() 从中删除非字母数字字符。 然后,在将其转换为 String.tolowerCase() 之后,将 String.split('') 为单独的字符,Array.reverse() ,String.join('')并与原始非反转字符串进行比较。
问题内容: 我有以下内容: 我的代码有什么问题?我想检查一下这个词是否是回文。 问题答案: 也许我会建议替代解决方案: UPD。但是请记住,这几乎是“作弊”方法,是对语言功能的智能用法的演示,但不是最实用的算法(时间O(n),空间O(n))。对于现实生活中的应用程序或编码面试,您绝对应该使用循环解决方案。JasonSebring在此线程中发布的一个既简单又有效(时间O(n),空间O(1))。
我的目标是测试回文(单词向前和向后是相同的)以及仅包含回文的日志和数组,到目前为止,这是我能想到的最多的。 根据我的理解,这应该返回一个包含布尔值为真的项的数组,任何指针都将帮助新手。非常感谢!