0
点赞
收藏
分享

微信扫一扫

Java、n个数的加法

weipeng2k 2022-01-15 阅读 47

        随机产生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;
	}
}

 

举报

相关推荐

0 条评论