基本上,这段代码的作用是从用户那里获取任意长度的数字,并以每位数字的形式将其发送给用户加上给定数字上所有数字的总和(例如1234 = 1,2 ,3,4。总和= 10)。但是,我无法使其成为负数。
Scanner s= new Scanner(System.in);
String num= s.nextLine();
char arr[]= new char[num.length()];
int numsarray[]= new int[num.length()];
String number[]= new String[num.length()];
int sum=0;
for(int i=0; i<num.length();i++)
{
arr[i]=num.charAt(i);
System.out.println(arr[i]);
number[i]=Character.toString(arr[i]);
numsarray[i]=Integer.parseInt(number[i]);
}
for(int i=0;i<num.length();i++)
{
sum+=numsarray[i];
}
System.out.println("Sum:"+sum);
答案 0 :(得分:0)
您是否有任何理由不首先检查数字是否小于0?然后你可以使用abs来使它成为正面并通过你的函数运行它。消除了在arr [0]处理连字符的麻烦。当然你应该有一些bool来存储标志: - )