Java、n个数的加法

        随机产生n个数,然后提示用户输入这n个整数的和。


package pack2;

import java.security.SecureRandom;
import java.util.Scanner;

public class SumOfThreeNumber {

	public static void main(String[] args) {
		try(Scanner input = new Scanner(System.in);) {
			char flag;
			do {
				System.out.print("\n输入需要的n个整数的个数: ");
				game(input.nextInt());
				
				System.out.print("是否继续?(y/n): ");
				flag = input.next().charAt(0);
			}while(flag == 'Y' || flag == 'y');
		}
	}
	
	//n个数的加法
	public static void game(int n) {
		SecureRandom secureRandom = new SecureRandom();		//创建一个安全随机类对象
		
		int[] numbers = new int[n];
		for (int i = 0; i < numbers.length; i++) 	//对n个数进行随机赋值
			numbers[i] = secureRandom.nextInt(10);
		
		StringBuffer stringBuffer = new StringBuffer("What is ");	//创建字符串缓冲器对象
		plus(stringBuffer, numbers);	//进行字符串添加
		stringBuffer.append("? ");
		
		System.out.print(stringBuffer.toString());
		int number = new Scanner(System.in).nextInt();
		
		//清空原先的字符内容
		stringBuffer.delete(0, stringBuffer.length());
		plus(stringBuffer, numbers);	
		stringBuffer.append(" = "+number+" is ");
		System.out.println(stringBuffer.toString()+
            (getSum(numbers) == number ? "true" : "false. Answer is "+getSum(numbers)));
	}
	
	//字符串添加内容
	public static void plus(StringBuffer stringBuffer, int[] numbers) {
		for (int i = 0; i < numbers.length; i++) 
			stringBuffer.append((i < numbers.length-1) ? numbers[i]+" + " : numbers[i]);
	}
	
	//返回n个数的和
	public static int getSum(int...numbers) {
		int sum = 0;
		for (int i : numbers) {
			sum += i;
		}
		return sum;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值