我有一個分配將整數分解爲它的個別數字,報告給用戶,並添加它們。我可以這樣做,但我正在努力支持負整數。這裏是我的代碼,它的工作原理正是我希望它的方式,但只爲正整數:分離一個整數並添加值支持一個負整數
import java.util.*;
public class Module4e
{
static Scanner console=new Scanner(System.in);
public static void main(String[] args)
{
System.out.print("Enter an integer: ");
String myNum=console.nextLine(); //Collects the number as a string
int[] asNumber=new int[myNum.length()];
String []upNum=new String[myNum.length()]; //updated
int sum=0; //sum starts at 0
System.out.println("\n");
System.out.print("The digits of the number are: ");
for (int i=0;i<myNum.length();i++)
{
upNum[i]=myNum.substring(i,i+1);
System.out.print(upNum[i]);
System.out.print(" ");
sum=sum+Integer.parseInt(upNum[i]);
}
System.out.println("\n");
System.out.print("The sum of the digits is: ");
System.out.println(sum);
}
}
我發現很多的提示獲得此與積極整數工作,但沒有爲陰性。
提示:想想你會如何否定的整數。 – jdigital
['Math.abs(n)'](http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#abs(int))?我無法想象,負數整數的答案與絕對值的答案是不同的。 – ajb
'boolean negative = myNum.startsWith(「 - 」); if(negative){myNum = myNum.substring(1); }' –