大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
public class Test
创新互联公司-专业网站定制、快速模板网站建设、高性价比孟村网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式孟村网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖孟村地区。费用合理售后完善,十多年实体公司更值得信赖。
{public void calSum()
{long num = 9; // 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围
long sum = num; // 存放数列和,使用 long, 因为 int 会超范围
// 因为只到9999999999,所以只用 9 次
for (int i = 0; i 9; i++)
{num = num * 10 + 9; // 根据数列当前项得到下一项的值
sum += num; // 计算目前为止所有数的和}
System.out.println("9+99+999+...+9999999999=" + sum);}
public static void main(String[] argv)
{Test test = new Test();
test.calSum();}}
或者public class Test{ public void calSum() { long num = 9; // 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围 long sum = num; // 存放数列和,使用 long, 因为 int 会超范围 // 因为只到9999999999,所以只用 9 次 for (int i = 0; i 9; i++) {num = num * 10 + 9; // 根据数列当前项得到下一项的值 sum += num; // 计算目前为止所有数的和 } System.out.println("9+99+999+...+9999999999=" + sum) } public static void main(String[] argv) {Test test = new Test(); test.calSum();}
将大整数存入字符数组,按位相加。 给你写一段伪代码。
String a = "12389839843958394";
String b = "23445655234343";
char ac [] = a.toCharArray();
char bc [] = b.toCharArray();
这里要将数组ac 和bc 倒序排列,因为"123"转换后为{'1','2','3'} 高位在前,倒序是为了低位在前。这部分代码自己实现把。
char longc[];
char shortc[];
if (ac.length=bc.length) {
longc=ac;
shortc=bc;
} else {
longc=bc;
shortc=ac;
}
下面做一个for循环,按位相加乘以10的i次方。就像小学学的列竖式子一样
int sum=0;
for (int i=longc.length;ilongc.length;i++) {
if (ishortc.length) {
sum+=(longc[i]+shortc[i]-96)*Math.pow(10, i);
} else {
sum+=(longc[i]-48)*Math.pow(10, i);
}
}
其中字符相加的时候减48是将char 转换成int
如果是一般的两个数求和,用 long类型 初始化 就可以了~~~
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入两个数: ");
long n1,n2;
n1 = input.nextLong();
n2 = input.nextLong();
System.out.println("两个数的和是: ");
System.out.println(n1+ n2);
}
}
运行结果:
请输入两个数:
213152454
238547571234
两个数的和是:
238760723688
如果两个数很大,超出了long表示范围,用大数BigInteger 初始化 就OK了~~~
import java.math.BigInteger;
import java.util.Scanner;
public class 大数相加 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入两个大数: ");
Scanner input = new Scanner(System.in);
BigInteger b1 = input.nextBigInteger();
BigInteger b2 = input.nextBigInteger();
System.out.println("两个大数的和是: ");
System.out.println(b1.add(b2));
}
}
运行结果:
请输入两个大数:
236547625754751312371
1237527547543547124751254
两个大数的和是:
1237764095169301876063625
望采纳~~~~~~~~~~
// 加入以下代码
int sum = 0;
for(int n:i) {
sum += n;
}
System.out.println("总和是:"+sum);