在java中 如何用scanner类从输入的一个数字(如8349)中读取每一位的值,然后使他们相加.

如下问题,某商场搞活动,根据要求会员输入4位会员卡号,和大于20的话奖一台MP3,用java语言编写程序!要求用Scanner类进行输入。

获取输入的值,转为数组,然后再相加。代码如下

Scanner scanner = new Scanner(System.in);
System.out.print("输入一个整数:");
String num = scanner.nextInt()+"";    // 输入整数,转为字符串
String[] nums = new String [num.length()];
for (int i = 0; i < num.length(); i++) {
nums[i] = num.charAt(i)+"";  // 将输入的整数转化为字符串数组
}
int sum = 0;
for (int i = 0; i < nums.length; i++) {
sum = sum + Integer.parseInt(nums[i]);    // 将数组内的字符串强转为整数,然后再相加。
}
System.out.println(sum);

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-01
import java.util.Scanner;
public class Test {
public static void main(String[] args){
try{
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int sum;
for(sum = 0;num!=0;num/=10){
sum += num%10;
}
winMP3(sum);
}catch(Exception e){
System.out.println("输入错误");
}
}

static MP3 winMP3(int n){
if(n>20)return new MP3();
return null;
}
}
class MP3{
MP3(){
System.out.println("恭喜你获得MP3一台");
}
}本回答被提问者采纳
第2个回答  2011-11-16
你好,我按照你的要求写的代码如下:

import java.util.Scanner;
public class t2 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.next();
boolean yes = false;
if (str.length() == 4) {
int sum = 0;
for (int i = 0; i < 4; i++) {
sum += Integer.valueOf(str.charAt(i) + "");
}
yes = sum > 20;
}
if (yes) {
System.out.println("恭喜获得Mp3一台");
} else {
System.out.println("继续参与吧");
}
}
}
相似回答