Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Reversedigit检查程序_Java - Fatal编程技术网

Java Reversedigit检查程序

Java Reversedigit检查程序,java,Java,我已经写了一个反向数字程序,但需要检查这个程序,看看它是否工作正常。我遗漏了什么if/else语句 import java.util.*; public class IT145_Homework_7_3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // input int parameter System.o

我已经写了一个反向数字程序,但需要检查这个程序,看看它是否工作正常。我遗漏了什么if/else语句

import java.util.*;

public class IT145_Homework_7_3 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        // input int parameter
        System.out.print("Enter number to reverse: ");

        //sets variables 
        int original = scanner.nextInt();
        int reverse = 0;
        int remainder;

        //original number equals 542
        while (original != 0) {

            remainder = original % 10;  //2 //4  //5
            reverse = reverse * 10 + remainder;  //2  //24  //245
            original = original / 10;  //54  //5  //0
        }
        //Prints out numbers in Reverse   
        System.out.println("Reverse of number is: " + reverse);
    }

} 

这里有一种方法可以进行检查,但在更改原始值之前,必须保留原始值的int。我把它称为原创

// sets variables
int original = scanner.nextInt();
int originalInt = original; // Save it off here

// all of your code to run the reverse...

// Code to run the check...
String revStr = String.valueOf(reverse);
String orgStr = String.valueOf(originalInt);

// In case you are inputting negative ints
orgStr = orgStr.replace("-", "");
revStr = revStr.replace("-", "");

// remove all trailing zeros from original and check if they are equal
// This is for the cases where the input is '900' and your reverse is '9'
orgStr = orgStr.replaceAll("0*$", "");

boolean worked = true;

// if the lengths are equal, then check if the chars match in opposite directions.
if (revStr.length() == orgStr.length())
{
    int len = orgStr.length();
    for (int i = 0; i < len; i++)
    {
        if (orgStr.charAt(i) != revStr.charAt(len - (i+1)))
        {
            worked = false;
            break;
        }
    }
}
else 
{
    worked = false;
}

System.out.println("Worked: " + worked);
//设置变量
int original=scanner.nextInt();
int originalInt=original;//在这里省省吧
//你所有的代码运行反向。。。
//运行检查的代码。。。
String revStr=String.valueOf(反向);
String orgStr=String.valueOf(originalInt);
//如果您输入的是负整数
orgStr=orgStr.replace(“-”,”);
revStr=revStr.replace(“-”,”);
//从原始值中删除所有尾随零,并检查它们是否相等
//这适用于输入为'900'且反向为'9'的情况
orgStr=orgStr.replaceAll(“0*$”,“”);
布尔值=真;
//如果长度相等,则检查字符是否在相反方向匹配。
如果(revStr.length()==orgStr.length())
{
int len=orgStr.length();
对于(int i=0;i

编辑:第一个代码有bug。

也可以按以下方式执行

int no=scanner.nextInt();
StringBuffer sb= new StringBuffer(no+"");
System.out.println(Integer.parseInt(new String(sb.reverse())));

首先,反转
900
的正确结果是什么<代码>9
009
?第二,什么是if-else语句?OP不是问如何反转int,而是问如何验证算法。