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