求大神改程序 用java编写一个求四位数各个位数之和的程序如输入1234输出10 再比如

求大神改程序 用java编写一个求四位数各个位数之和的程序如输入1234输出10 再比如输入123输出你输入的数字有误

你的程序我帮你改好了,(在你原有的程序上改的),完整的程序如下,你看看吧.

package 1i0408;

import java.util.Scanner;

public class test02 {

 public static void main(String[] args){

  Scanner sc=new Scanner(System.in);

  int m;

  System.out.println("请输入四位数:");

  m=sc.nextInt();

  if(m>=1000 && m<=9999){

   int a,b,c,d,sum;

   a=m/1000;

   b=m/100%10;

   c=m/10%10;

   d=m%10;

   sum=a+b+c+d;

   System.out.println("四位数之和:"+sum);

  }

  else

  {

   System.out.println(m+"不是四位数");

  }

 }

}

运行结果:

请输入四位数:
1234
四位数之和:10

追问

还是有个小错误

scanner那,他有个错误。不知道为什么

追答

你应该在package li0408;后面,
public class test02{ 前面
加一句import java.util.Scanner;//导入Scanner类就行了.

追问

写了,还有错误

m=sc.nextlnt那

追答

m=sc.nextInt();是这一句吗?一对小括号加上了?

追问

加上了

追答

m=sc.nextInt();是这一句吗?一对小括号加上了?
噢我知道了,你把sc.nextInt();中的大写字母I,写成了小写字母l了,你看看是不是?

追问

哦,谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-11
把int转为string
判断string的个数
遍历每个数字相加。追答

可以把

追问

string怎么判断呀可以再说具体点吗?

追答

好的

int m=1234;
String val=String.valueOf(m);
if(val.length()==4){
System.out.println("ok");
}else{
System.out.println(val+":不是4位数");
}

这是判断4位数

追问

这是给定m值的。。如果要是不给定呢,

追答

如果是输入框 你直接获取输入框的值

获取输入框的值如果是字符型

String自带一个获取长度的方法 你调用就是

int m=9999;

String val=String.valueOf(m);//转字符
int len=val.length();//获取字符长度

if(len==4){
int i;
int value=0;
for(i=0;i<len;i++){
String num=String.valueOf(val.charAt(i));//截取每一个字符
int v=Integer.parseInt(num);//把截取的转为int型
value+=v;//递归相加每一个数字

}

System.out.println(val+"的和为:"+value);
}else{
System.out.println(val+":不是4位数");
}

追问

相似回答