簡體   English   中英

從數組java中將數字字符串相加

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM