用java编写程序:求从控制台输入一个整数字符串,求他的偶数位和奇数位的和

package tx.w;
import java.util.Scanner;
/**
从控制台输入一串整数,分别求出该整数的偶数位个奇数位之和
*/
public class HomeWork1
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("输入数字串");
String str=sc.next();//从控制台获取整数数字串
int length=str.length();//获得字符串长度
for (int i=0;i<length ;i++ ){
if(i%2==0){
char c=str.charAt(i);//截取字符串中偶数字符
int x=c-'0';//将截取的字符转换为对应的整数
int a=0;
a+=x;

}else{
char d=str.charAt(i);//截取字符串中奇数数字
int y=d-'0';//将截取的字符转换为对应的整数
int b=0;
b+=y;

}

}
}
}
我想知道怎么输出我求出的结果,如果输出放入if....else 中输出的结果不对,放在if ...else外输出的话变量要怎么定义?求大神指导

package tx.w;
import java.util.Scanner;
/**
从控制台输入一串整数,分别求出该整数的偶数位个奇数位之和
*/
public class HomeWork1
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("输入数字串");
String str=sc.next();//从控制台获取整数数字串
int length=str.length();//获得字符串长度
int a = 0;
int b = 0;
for (int i=0;i<length ;i++ ){
if(i%2==0){
char c=str.charAt(i);//截取字符串中偶数字符
int x=c-'0';//将截取的字符转换为对应的整数
a+=x;

}else{
char d=str.charAt(i);//截取字符串中奇数数字
int y=d-'0';//将截取的字符转换为对应的整数
b+=y;

}

}
System.out.println("a="+a);
System.out.println("b="+b);
}
}

运行结果:
输入数字串
123456789
a=25
b=20
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-24
把变量a和b定义到for循环上面...要不然每次循环都置为0,当然不正确追问

谢了。

相似回答