[英]String of number add together from an array java
我有一個項目將一串未設定數量的數字組合在一起。 在項目中,您必須將字符串轉換為數字數組。 然后從數組的末尾開始並將它們加在一起。 所以我想我問的是解決這個問題的最好方法。 我的老師說使用除數和模數來得到結轉,但這就是他真正給我們的我設置的 Int 數組只是無法得到正確的結果。
公共類FunctionLibrary { public static String performAddition(String sNumber1, String sNumber2) { int length = 0;
if (sNumber1.length() > sNumber2.length())
{
length = sNumber1.length()-1;
}
else
{
length = sNumber2.length()-1;
}
int[] input1 = new int[length];
int[] input2 = new int[length];
int[] result = new int[length+1];
String resultS = "";
for (int i = length; i > 0; i--)
{
input1[i] = Character.getNumericValue(sNumber1.charAt(i));
}
for (int i = length; i > 0; i--)
{
input2[i] = Character.getNumericValue(sNumber2.charAt(i));
}
for (int i = length; i > 0; i--)
{
int temp = 0;
int divid = 0;
int modulas = 0;
int answer = 0;
temp = input1[i] + input2[i];
divid = temp/10;
modulas = temp%10;
input1[i+1] += modulas;
answer = divid;
result[i] = answer;
}
for (int i = 0; i <= length; i++)
{
resultS += Integer.toString(result[i]);
}
return resultS;
} }
此編輯沒有錯誤,但沒有返回結果。
這是我到目前為止所擁有的,但它只是不想正常工作。 任何幫助,將不勝感激。
for (int i = 長度;i >= 0;i--) {
int temp = 0; int divid = 0; int modulas = 0; int answer = 0; temp = input1[i] + input2[i]; divid = temp/10; modulas = temp%10;
首先,為什么不合並線? 其次,除法與加法有什么關系?
因為你必須把數字帶到下一個; 您將需要一個在 for 循環之外的變量。 由於您將兩個個位數相加,您可以得到的最高數字是 18,因此您可以;
得到一個你回饋的一位數,或者;
得到 10 + 一個你回饋的個位數
所以在for循環里面; 您測試溫度是否為個位數:
布爾carryOne = false;
for (int i = 長度;i >= 0;i--) {
int answer = 0; int temp = input1[i] + input2[i]; if(carryOne) { temp++; carryOne = false; } if(temp >= 10) { // two digits: answer = (temp - 10); // you give the left digit back, carryOne = true; // and carry the ten } else answer = temp; // single digit
學習編碼的最大過程,是獲得心態
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.