java程序编写菜鸟求助

写一个java程序做以下的事情:程序会先显示下面这行字,要求我们输入一个数字(用scannerclass)"Enterathreedigitnumber,withthef... 写一个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)。。。
展开
 我来答
百度网友16ee7ec98
2009-12-08 · TA获得超过1117个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:395万
展开全部
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.println(TT.reverse3(num-TT.reverse3(num))+"+");
System.out.println("---");
System.out.println(num-TT.reverse3(num)+TT.reverse3(num-TT.reverse3(num)));
}
}
lvxianling
2009-12-08 · TA获得超过639个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:195万
展开全部
public class Test{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter a three digit number, with the first digit larger than the third.");
int input=sc.nextInt();
if(input/100 < input%10){
System.out.println("Not a valid number");
System.exit(0);
}

int revers=reverse(input);
System.out.println("Reverse and subtract:");
int re=input-revers;
System.out.println(input+"-"+revers+"="+re);

System.out.println("Reverse and add:");
System.out.println(re+"+"+reverse(re)+"="+(re+reverse(re)));
}
public static int reverse(int i){
return Integer.parseInt(new StringBuilder(Integer.toString(i)).reverse().toString());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssh99999ssh
2009-12-08 · TA获得超过389个赞
知道小有建树答主
回答量:719
采纳率:50%
帮助的人:260万
展开全部
package com.gxsdxy.test;
import java.util.*;
public class Example {
private int m_iNu;
private int m_iHun ;
private int m_iTen ;
private int m_iUn;
private int m_iSum;
public void counting(){
Scanner in = new Scanner(System.in);
m_iNu = in.nextInt();
m_iHun = m_iNu / 100;
m_iTen = (m_iNu % 100) / 10;
m_iUn = m_iNu % 10;
//System.out.println(m_iUn);
if(m_iHun > m_iUn){
m_iSum = m_iNu - (m_iUn * 100 + m_iTen * 10 + m_iHun);

System.out.println("先反过来相减得:" + m_iSum);

m_iHun = m_iSum / 100;
m_iTen = (m_iSum % 100) / 10;
m_iUn = m_iSum % 10;

m_iSum= m_iSum + (m_iUn * 100 + m_iTen * 10 + m_iHun);

System.out.println("相减后再反过来相加的结果:" + m_iSum);
}
else{
System.out.println("Not a valid number");
System.exit(0);
}
}
public static void main(String [] args ){
System.out.println("Enter a three digit number , witch the first digit largit than the third.");
new Example().counting();

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式