java程序编写菜鸟求助

来源:百度知道 编辑:UC知道 时间:2024/06/02 07:33:15
写一个java程序做以下的事情:程序会先显示下面这行字,要求我们输入一个数字(用scanner class)

"Enter a three digit number, with the first digit larger than the third."

然后我们随便输入一个数字

比如 351
如果这个数字不是一个(以从左到右的顺序)第一位(d1)比第三位(d3)大的三位的数字, 程序应该输出一个错误信息 “像是 System.out.println("Not a valid number")", 然后程序结束。

如果输入的数字是一个符合条件的数字, 程序会先把这个数字反过来 (比如 351 就会变成 153)。然后用原先的数字减去反过来的那个数字, 再把得到的结果再反过来 (比如351减去153等于198, 把198反过来 变成 891),接着再用减法得到的结果加上它的反过来。正确的程序应该显示出以下的形式:

Reverse and subtract:
351
153 -
---
198

Reverse and add:
198
891 +
---
1089

提示: 先写一个 static method 把输入的三位数字反过来, 那个static method 应该有以下的方法名称:
private static int reverse3(int i)
提示2: 可以灵活运用小技巧, 假设输入的数字是 i, 那么 i/10 可以去掉最后一位数字(d3), i%10 可以给出最后一位数字(d3)。。。

package test;
import java.util.Scanner;
public class TT {
public static int reverse3(int i)
{
int a = i/100;
int b = i%100/10;
int c = i%10;
return c*100+b*10+a;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = 0;
String s = "请输入一个三位数:";
while(true)
{
System.out.println(s);
num = input.nextInt();
if(num >= 100 && num<=999 && num/100>num%10)
{
break;
}
s = "您输入的数不符合条件,请重新输入一个百位大于个位的三位数:";
}
System.out.println("Reverse and subtract:");
System.out.println(num);
System.out.println(TT.reverse3(num)+"-");
System.out.println("---");
System.out.println(num-TT.reverse3(num));
System.out.println("Reverse and add:");
System.out.println(num-TT.reverse3(num));
System.out.