2020.9.30收获

四则运算

(3)可定制数量,输入大的数量值,测试系统是否崩溃。

package day02;

import java.util.Random;
import java.util.Scanner;

public class Test {
	public static void main(String args[]) {

		
		Random rand = new Random();
		boolean[] bool = new boolean[101]; 
		String[] fuhao = new String[] { "+", "-", "*", "/" };

		// variable initialization
		int first = 0;
		int second = 0;
		String fh = " ";

		int length = 0;
		Scanner scan = new Scanner(System.in);
		System.out.print("您想练习题目的个数为:");
        length=scan.nextInt();
        
		for (int i = 0; i <length ; i++) {
			do {
				first = rand.nextInt(101);
				second = rand.nextInt(101);
				fh = fuhao[rand.nextInt(4)];
			} while (bool[first] && bool[second]);
			bool[first] = true;
			bool[second] = true;
			System.out.println(i+1+"、"+first + fh + second + "=");
		}

	}
}

当输入100000后,系统崩溃。

(4)定制操作数的个数

package day02;

import java.util.Random;
import java.util.Scanner;

public class Test {

	public static void main(String args[]) {

		Random rand = new Random();
		boolean[] bool = new boolean[101];
		String[] fuhao = new String[] { "+", "-", "*", "/" };

		int n = 0;
		int length = 0;
		@SuppressWarnings("resource")
		Scanner scan = new Scanner(System.in);
		System.out.print("您想练习题目的个数为:");
		length = scan.nextInt();
		System.out.print("操作数的个数为:");
		n = scan.nextInt();

		int[] Number = new int[n];
		String[] Fh = new String[n];

		for (int i = 0; i < length; i++) {

			for (int j = 0; j < n; j++) {

				do {
					Number[j] = rand.nextInt(101);
					Fh[j] = String.valueOf(fuhao[rand.nextInt(4)]);

				} while (bool[Number[j]]);

				bool[Number[j]] = true;

				if (j != n - 1) {
					System.out.print(Number[j] + Fh[j]);
				} else {
					System.out.print(Number[j]);
				}
			}
			System.out.println();

		}

	}
}

最初我将数组 Fh 定义为:String[] Fh = new String[n-1]; 结果出现了溢出现象 

经过修改,改成了  String[] Fh = new String[n]; 运行成功

其中,由于我并没有考虑最后一组数字与符号的问题,导致在随机生成的计算题后面出现符号。经过修改,加了一个判断语句,判断它是否为最后一组,得以正确输出。

 

还有一个很大的收获是:我学习了如何给字符串数组中的元素赋值

Fh[j] = String.valueOf(fuhao[rand.nextInt(4)]);
原文地址:https://www.cnblogs.com/ltw222/p/13759648.html