public class TestSum { public static void main(String args[]){ int a[] ={1,2,3}; int b[] = {4,5}; System.out.println("The sum is: " + sum(a,b)); }
public static int sum(int a[],int b[]){ String stra = ""; String strb = ""; for(int i = 0; i < a.length; i++) stra += String.valueOf(a[i]); for(int i = 0; i < b.length; i++) strb += String.valueOf(b[i]); return Integer.parseInt(stra) + Integer.parseInt(strb); } }
public class TestSum { public static void main(String args[]){ int a[] ={1,2,3}; int b[] = {4,5}; System.out.println("The sum is: " + sum(a,b)); }
public static int sum(int a[],int b[]){ String stra = ""; String strb = ""; for(int i = 0; i < a.length; i++) stra += String.valueOf(a[i]); for(int i = 0; i < b.length; i++) strb += String.valueOf(b[i]); return Integer.parseInt(stra) + Integer.parseInt(strb); } }
public class SumArray { public int sum(int[] value1,int[] value2){ return getValue(value1) + getValue(value2); } public int getValue(int[] value){ int number = 0; if(null != value && value.length > 0){ StringBuffer numberBuffer = new StringBuffer(); for(int i = 0; i< value.length;i++){ numberBuffer.append(value[i]); } number = Integer.parseInt(numberBuffer.toString()); } return number; } public static void main(String args[]){ int[] value1 = {9,2,4}; int[] value2 = {5,2,0}; SumArray sumArray = new SumArray(); System.out.println(sumArray.sum(value1,value2)); } }
如果访问时数据量比较大,是否应该转为long类型,或者哪个算法会比较好点~
另外一种常规思维的方法public class SumTest { public static void main(String[] args) { int[] a = {1, 2, 3}; int[] b = {4, 5}; System.out.println(sum(a, b)); }
public static long sum(int[] a, int[] b) { long A = 0; long B = 0; for (int i = a.length - 1, j = 0; i >= 0; i--, j++) A += a[i] * Math.pow(10, j); for (int i = b.length - 1, j = 0; i >= 0; i--, j++) B += b[i] * Math.pow(10, j); return (A + B); } }
public class Test1 { public static void main(String[] args) { int[] a = { 1, 2, 3 }, b = { 4, 5 }; int k = sum(a, b); System.out.println(k); } public static int sum(int[] num1, int[] num2) { int j = num1.length - 1; int k = num2.length - 1; int up = 0; int sum = 0; int mul = 1; while (j > -1 || k > -1) { int n = (j < 0 ? 0 : num1[j--]) + (k < 0 ? 0 : num2[k--]) + up; sum += n % 10 * mul; up = n / 10; mul *= 10; } return sum; } }
public static int SUM(int a[],int b[]){ int size = (a.length > b.length ? a.length : b.length) ; int sum = 0 ; int sub = 0 ; //进位标志 int temp ; for(int i = size - 1 , k = 0 ; i >= 0 ; i-- , k++){ if( k >= a.length){ if(sub == 1){ sum += (int)(b[i] + 1) * Math.pow(10, size - i - 1) ; sub = 0 ; } else{ sum += (int)(b[i] * Math.pow(10, size - i - 1)) ; } } else if(k >= b.length){ if(sub == 1){ sum += (int) ((a[i] + 1) * Math.pow(10, size - i - 1)) ; sub = 0 ; } else{ sum += (int)(a[i] * Math.pow(10, size - i - 1)) ; } } else{ if(sub == 1){ temp = a[a.length - k - 1] + b[b.length - k - 1] + 1; sub = 0 ; } else{ temp = a[a.length - k - 1] + b[b.length - k - 1] ; } if(temp >= 10){ sub = 1 ; } sum += (temp % 10) * Math.pow(10, size - i - 1); } } return sum; }
public class SumTest { public static void main(String[] args){ int[] a ={1,2,3},b={4,5}; sum(a,b); }
public static int sum(int[] a,int[] b){ StringBuffer sa = new StringBuffer(); StringBuffer sb = new StringBuffer(); for(int i=0;i<a.length;i++){ sa.append(a[i]); } for(int i =0;i<b.length;i++){ sb.append(b[i]); } return Integer.parseInt(sa.toString())+Integer.parseInt(sb.toString());
public class TestSum {
public static void main(String args[]){
int a[] ={1,2,3};
int b[] = {4,5};
System.out.println("The sum is: " + sum(a,b));
}
public static int sum(int a[],int b[]){
String stra = "";
String strb = "";
for(int i = 0; i < a.length; i++)
stra += String.valueOf(a[i]);
for(int i = 0; i < b.length; i++)
strb += String.valueOf(b[i]);
return Integer.parseInt(stra) + Integer.parseInt(strb);
}
}
public static void main(String args[]){
int a[] ={1,2,3};
int b[] = {4,5};
System.out.println("The sum is: " + sum(a,b));
}
public static int sum(int a[],int b[]){
String stra = "";
String strb = "";
for(int i = 0; i < a.length; i++)
stra += String.valueOf(a[i]);
for(int i = 0; i < b.length; i++)
strb += String.valueOf(b[i]);
return Integer.parseInt(stra) + Integer.parseInt(strb);
}
}
public class SumArray {
public int sum(int[] value1,int[] value2){
return getValue(value1) + getValue(value2);
} public int getValue(int[] value){
int number = 0;
if(null != value && value.length > 0){
StringBuffer numberBuffer = new StringBuffer();
for(int i = 0; i< value.length;i++){
numberBuffer.append(value[i]);
}
number = Integer.parseInt(numberBuffer.toString());
}
return number;
}
public static void main(String args[]){
int[] value1 = {9,2,4};
int[] value2 = {5,2,0};
SumArray sumArray = new SumArray();
System.out.println(sumArray.sum(value1,value2));
}
}
{
public static void main(String[] args)
{
int[] a = {1, 2, 3};
int[] b = {4, 5};
System.out.println(sum(a, b));
}
public static long sum(int[] a, int[] b)
{
long A = 0;
long B = 0;
for (int i = a.length - 1, j = 0; i >= 0; i--, j++)
A += a[i] * Math.pow(10, j);
for (int i = b.length - 1, j = 0; i >= 0; i--, j++)
B += b[i] * Math.pow(10, j);
return (A + B);
}
}
int[] a = { 1, 2, 3 }, b = { 4, 5 };
int k = sum(a, b);
System.out.println(k);
} public static int sum(int[] num1, int[] num2) {
int j = num1.length - 1;
int k = num2.length - 1;
int up = 0;
int sum = 0;
int mul = 1;
while (j > -1 || k > -1) {
int n = (j < 0 ? 0 : num1[j--]) + (k < 0 ? 0 : num2[k--]) + up;
sum += n % 10 * mul;
up = n / 10;
mul *= 10;
}
return sum;
}
}
int size = (a.length > b.length ? a.length : b.length) ;
int sum = 0 ;
int sub = 0 ; //进位标志
int temp ;
for(int i = size - 1 , k = 0 ; i >= 0 ; i-- , k++){
if( k >= a.length){
if(sub == 1){
sum += (int)(b[i] + 1) * Math.pow(10, size - i - 1) ;
sub = 0 ;
}
else{
sum += (int)(b[i] * Math.pow(10, size - i - 1)) ;
}
}
else if(k >= b.length){
if(sub == 1){
sum += (int) ((a[i] + 1) * Math.pow(10, size - i - 1)) ;
sub = 0 ;
}
else{
sum += (int)(a[i] * Math.pow(10, size - i - 1)) ;
}
}
else{
if(sub == 1){
temp = a[a.length - k - 1] + b[b.length - k - 1] + 1;
sub = 0 ;
}
else{
temp = a[a.length - k - 1] + b[b.length - k - 1] ;
}
if(temp >= 10){
sub = 1 ;
}
sum += (temp % 10) * Math.pow(10, size - i - 1);
}
}
return sum;
}
public static void main(String[] args){
int[] a ={1,2,3},b={4,5};
sum(a,b);
}
public static int sum(int[] a,int[] b){
StringBuffer sa = new StringBuffer();
StringBuffer sb = new StringBuffer();
for(int i=0;i<a.length;i++){
sa.append(a[i]);
}
for(int i =0;i<b.length;i++){
sb.append(b[i]);
}
return Integer.parseInt(sa.toString())+Integer.parseInt(sb.toString());
}
}