java用scanner 和random的一个小案例
生活随笔
收集整理的這篇文章主要介紹了
java用scanner 和random的一个小案例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.util.ArrayList;/*** 存放單詞的實體類,為附體類,需要運行mymain 主入口*/
public class Entity {private String ecglish;//英語單詞private String chaina;//中文解釋private String day; //屬于第幾天的單詞private ArrayList list = new ArrayList();public ArrayList getList() {return list;}public void setList(ArrayList list) {this.list = list;}public Entity(String ecglish, String chaina, String day) {this.ecglish = ecglish;this.chaina = chaina;this.day = day;}public Entity() {}@Overridepublic String toString() {return "Entity{" +"ecglish='" + ecglish + '\'' +", chaina='" + chaina + '\'' +", day='" + day + '\'' +'}';}public String getDay() {return day;}public void setDay(String day) {this.day = day;}public String getEcglish() {return ecglish;}public void setEcglish(String ecglish) {this.ecglish = ecglish;}public String getChaina() {return chaina;}public void setChaina(String chaina) {this.chaina = chaina;}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;/*
說明:首先添加需要背誦的單詞
1.******添加單詞******
2.******隨機根據中文輸入單詞****** 程序主入口
3.******主菜單******
4.******查看所有單詞*******/
public class MyMain {private List<Entity> list = new ArrayList<Entity>();public static void main(String[] args) {MyMain arrayDemo01 = new MyMain();arrayDemo01.myMain();}//3.查看所有單詞=========================================================private void myFor() {if (list.size() > 0) {myflash();//刷新控制臺System.out.println("-------------------------------------------------------------------");for (Entity entity : list) {System.out.println("\t\t\t" + entity.getEcglish() + "\t\t\t" + entity.getChaina());}System.out.println("-------------------------------------------------------------------");myMain();} else {//沒有單詞時調用此方法myReturn();}}//沒有單詞時調用的方法。=========================================================private void myReturn() {myflash();//刷新控制臺System.out.println("\t\t\t當前單詞條數為【 " + list.size() + " 】請先添加單詞\t\t\t");myMain();//跳到主菜單}//根據提示,默寫單詞=========================================================private void ranDomChina() {if (list.size() > 0) {int count = 0;// 記錄默寫成功的單詞數量int over = 0;// 統計默寫錯誤的單詞數量myflash();//刷新Scanner scanner = new Scanner(System.in);//生成一個而隨機數,最大為list的存儲個數.取得一個當前默寫需要的詞組Random random = new Random();int r = random.nextInt(list.size());String english = list.get(r).getEcglish();String china = list.get(r).getChaina();//拼接字符串提示String st;while (true) {st = "請輸入:【" + china + "】 對應的單詞" + " 當前單詞總數量:【" + list.size() + "】";st += " 默寫成功總次數:【" + count + "】" + " 失敗次數【" + over + "】";st += " 【0:查看提示】 " + "【1:進入主界面】";System.out.println(st);String s = scanner.nextLine().trim();//trim方法,刪除前后空格1if (s.equals(english)) {//輸入正確====== 進行的操作====================count++;//成功+1myflash();//刷新控制臺System.out.println("~~~~恭喜你,輸入正確~~~~");r = random.nextInt(list.size());//輸入正確之后重新生成隨機數english = list.get(r).getEcglish();//重新定義英語china = list.get(r).getChaina();//重定義提示的中文} else if (s.equals("0")) {myflash();System.out.println("提示:\t【" + english + "】\t【" + china+"】");} else if (s.equals("1")) {break;} else {myflash();//刷新控制臺over++;//默寫失敗+1System.out.println("輸入的【" + s + "】錯誤,請重新輸入:");}}//whyl循環結束myflash();//當跳出while循環時,刷新myReturn();//當跳出while循環時,進入主菜單} else {//沒有單詞時調用此方法myflash();myReturn();}}//此方法用于刷新控制臺=========================================================private void myflash() {for (int i = 0; i < 25; i++) {System.out.println();}}//添加方法,調用的副方法=========================================================private void add01() {System.out.println("不能輸入空字符串");System.out.println();System.out.println();}//遍歷list 不能重復輸入單詞 ,返回true 有重復,返回false 沒有重復private boolean englishEquals(String english) {for (Entity entity : list) {if (english.equals(entity.getEcglish())) {return true;}}return false;}//添加單詞=========================================================private void add() {myflash();//刷新控制臺Scanner scanner = new Scanner(System.in);while (true) {System.out.println("------------------------------------------------");System.out.println("請輸入需要添加的英語單詞: 【0.退出】");String english = scanner.nextLine().trim();//trim方法,刪除前后空格1if (english.equals("0")) {break;} else if ("".equals(english)) {add01();continue;}//判斷是否重復輸入單詞if (englishEquals(english)) {System.out.println("請勿輸入重復的單詞:" + english);continue;}System.out.println("請輸入需要添加對應的中文: 【0.退出】");String china = scanner.nextLine().trim();//trim方法,刪除前后空格1if (china.equals("0")) {break;} else if ("".equals(china)) {add01();continue;}Entity entity = new Entity();entity.setEcglish(english);entity.setChaina(china);list.add(entity);System.out.println("成功添加,當前條數:【" + list.size() + "】");System.out.println("------------------------------------------------");System.out.println();System.out.println();System.out.println();}myMain();}/*** 主菜單=========================================================*/private void myMain() {System.out.println("( ′-ω ・)▄︻┻┳══━一( ′-ω ・)▄︻┻┳══━一( ′-ω ・)▄︻┻┳══━一");System.out.println();System.out.println("\t\t 【1.添加單詞】");System.out.println("\t\t 【2.默寫單詞】");System.out.println("\t\t 【3.查看所有單詞】");System.out.println("\t\t 【請輸入選擇:】");Scanner scanner = new Scanner(System.in);String s = scanner.nextLine().trim();//trim方法,刪除前后空格1switch (s) {case "1"://"1.******添加單詞******"add();break;case "2"://"2.******默寫單詞******"ranDomChina();break;case "3"://"3.******查看所有單詞******"myFor();break;default:myflash();//刷新控制臺System.out.println("!!!!!!!!!!!!!非法輸入!!!!!!!!!!!!!");myMain();//調用本方法,重新開始主菜單}}
}
總結
以上是生活随笔為你收集整理的java用scanner 和random的一个小案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯云COS对象存储图片文件API的详细
- 下一篇: 编程题【System类】计算一千万个数添