Arthas-MathGame
生活随笔
收集整理的這篇文章主要介紹了
Arthas-MathGame
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.TimeUnit;
/*** MathGame.<br>* @author gongqiang <br>* @version 1.0.0 2021年6月4日<br>* @see * @since JDK 1.5.0*/
public class MathGame {private static Random random = new Random();private int illegalArgumentCount = 0;public List<Integer> primeFactors(int number) {if (number < 2) {++this.illegalArgumentCount;throw new IllegalArgumentException("number is: " + number + ", need >= 2");}ArrayList<Integer> result = new ArrayList<Integer>();int i = 2;while (i <= number) {if (number % i == 0) {result.add(i);number /= i;i = 2;continue;}++i;}return result;}public static void main(String[] args) throws InterruptedException {MathGame game = new MathGame();while (true) {game.run();TimeUnit.SECONDS.sleep(1L);}}public void run() throws InterruptedException {try {int number = random.nextInt() / 10000;List<Integer> primeFactors = this.primeFactors(number);MathGame.print(number, primeFactors);}catch (Exception e) {System.out.println(String.format("illegalArgumentCount:%3d,", this.illegalArgumentCount) + e.getMessage());}}public static void print(int number, List<Integer> primeFactors) {StringBuffer sb = new StringBuffer(number + "=");for (int factor : primeFactors) {sb.append(factor).append('*');}if (sb.charAt(sb.length() - 1) == '*') {sb.deleteCharAt(sb.length() - 1);}System.out.println(sb);}
}
?
總結
以上是生活随笔為你收集整理的Arthas-MathGame的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KMS的几个开源实现汇总
- 下一篇: HT中特殊字符φ的显示问题