所以我必须写一个程序,找到给定范围之间的所有回文数。程序必须使用numDigits()方法,该方法接受int数并返回该int的位数。
一个isPalindrome()方法,它将接受一个int数字,并返回一个布尔值true或false,无论该数字是否回文
我在这里编码了一个numDigit()方法:
public static int getNumDigits(int numCount, int END)
{
//local variables
int numDigits;
numDigits = 0;
while(numCount <= END)
{
numDigits = (int)(Math.log10(numCount)+1);
if(num == 0)
{
numDigits = 1;
}
numCount++;
}//end of minor loop
return numDigits;
}// numDigit Method
我知道如何用另一种方法找到回文,但作业是专门针对这种技术的。我如何实现这个numDigit()方法来查找一个范围之间给定的所有回文数?
您需要知道数字的个数,以查找该数字是否为回文,如本算法所示:
>
通过将其分成两半来检查是否为回文。
public static boolean isPalindrome(int number) {
//convert number to string for easy processing
String num = Integer.toString(number);
// count number of digits in number
int digitCount = numDigits(number);
// if number has odd number of digit
if (digitCount % 2 == 1) {
// remove middle digit
num = num.substring(0, Math.floorDiv(digitCount, 2)) + num.substring(Math.floorDiv(digitCount, 2) + 1);
// since you removed a digit, the number of digits is one less
digitCount = digitCount - 1;
}
// split number in half
String half1 = num.substring(0, digitCount / 2);
String half2 = num.substring(digitCount / 2);
// check if two halves are same
for (int i = 0, j = half2.length() - 1; i < half1.length() && j >= 0; i++, j--) {
if(half1.charAt(i)!=half2.charAt(j)){
return false;
}
}
return true;
}
所以我正在尝试编写这个java程序,它将检查并显示0到10000之间的所有回文数字。方法isPalindrome必须接受int数,如果number是回文,则返回一个布尔值true,如果number不是回文,则返回一个false。 这是到目前为止的代码,但当我运行它时,它只打印一行1,我在最后添加的打印是为了调试和检查该方法是否工作,但在这种情况下它不工作。我还将numCount初始化为1,因为当n
因此,我必须编写一个程序,使用numDigits方法找到一个范围内的所有回文数,该方法取一个int数并返回该数的位数,使用isPalindrome方法取一个int数并返回一个布尔值true或false。这是在爪哇。 我有一个numDigits方法编码,工作很好,但我不知道如何获得它的输出,并使用它找到一个范围内的所有回文 null
我无法降低这个问题的复杂性。请给出一些更好的方法。 有没有一个我不知道的数学公式,或者它可以用更好的方法来完成? 我是这样做的:
我有N个数字,让我们说。现在我想找出在给定范围内有多少对数字。(L和R给定)。数字对=两个数字相同。我的方法:
问题内容: 我有一个大文本文件(URL.txt),我希望使用一个 sed 命令执行以下操作: 查找行号19和33之间的文本“ google”并将其替换为“ facebook”。 在终端上显示输出而不更改原始文件。 问题答案: 您可以使用SED的范围选择器: 这将在19(不含)和33(含)之间的行上进行替换 请注意,这只会替换每行的第一次出现,您可以使用-modifier更改此行为:
我有三个变量Min=0.29、Max=6.52和center=2.10。我希望创建一个表,以以下方式将这些数据以表格式分配为100个值: 这里,这个图像可以分成0到50和50到100两部分。 在第一部分中,后续值的x与y的增加在1-10与10-20之间较高,在10-20与20-30之间较高,以此类推。 在第二部分中,随后值的x与y的增加在50-60比60-70之间较低,在60-70比70-80之间