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();//调用本方法,重新开始主菜单}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android onscrolllistener判断到底部,判断RecyclerView是否滑动到底部

判断RecyclerView是否滑动到底部recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {Overridepublic void onScrollStateChanged(NonNull RecyclerView recyclerView, int newState) {super.onScrollStateChanged(recyclerView, newState);}Overridepubli…

二位数组的随机生成,遍历,求和,反转。和两个变量的^反转 源码

import java.util.Random;/*** derf*/ public class Operate {public static void main(String[] args) {int[][] arr getArr(20);//获得二维一维长度相同的随机数数组forarr(arr);//遍历传入的数组sumarr(arr);//对二维数组求和int[] arr1 {1, 2, 3, 4, 5, 6, 7, 8, 9};fZar…

robolectric android studio,Android Studio + Robolectric + AndroidAnnotations 根本框架

记录一下&#xff0c;使用的 Android Studio 版本是 0.8.2 (Beta)在 Project 目录下的 build.gralde 文件中的 dependencies 添加二行classpath org.robolectric:robolectric-gradle-plugin:0.classpath com.neenbedankt.gradle.plugins:android-apt:1.引入这二个插件 robolect…

二维数组:随机生产,遍历,判断两个数组一维二维长度,和内容是否一致

import java.util.Random;/*** 1&#xff0c;定义第一个方法&#xff0c;传入数组长度&#xff0c;返回一个1维和2维长度都完全相同的数组* 2.定义一个方法&#xff0c;传入两个数二维组&#xff0c;判断两个数组是否完全一致&#xff1a;一维&#xff0c;二维长度&#xff0c;…

字符缓冲输入流,高效读取整行数据

import java.io.BufferedReader; import java.io.FileReader;/* 字符缓冲输入流&#xff0c;高效读取整行数据*/ public class Writer {public static void main(String[] args) {try (BufferedReader br new BufferedReader(new FileReader("IoFile\\a.txt"))) {St…

华为鸿蒙等不急了,华为最强巨作,鸿蒙OS+六摄+麒麟985,网友:等不及了!

原标题&#xff1a;华为最强巨作&#xff0c;鸿蒙OS六摄麒麟985&#xff0c;网友&#xff1a;等不及了&#xff01;华为最强旗舰机一般公认是Mate系列&#xff0c;虽然华为跟三星一样&#xff0c;也是走双旗舰&#xff0c;Mate和P系列都是旗舰机&#xff0c;但是华为和三星有所…

华为鸿蒙2.0操作页面,华为鸿蒙2.0开面界面确认,这一变化你可懂

最近一段时间关于华为鸿蒙手机端操作系统的消息非常多&#xff0c;但是由于目前仅是测试阶段&#xff0c;我们无法全面的了解这个全新的操作系统长什么样。在操作上有何不同等等&#xff0c;在这样的前提之下很多参与内测有朋友时不时的就会放出一些信息。5月5日有人放出了华为…

将一个数组拼接成一个指定字符串返回

/*** 将一个int【】数组拼接成一个字符串返回* 举例&#xff1a;int [] arr {1,2,3,4,5};* 举例&#xff1a; [1,2,3,4,5]*/ public class Demo9 {public static void main(String[] args) {int[] arr {1, 2, 3, 4, 5, 6, 7};String str arrToString(arr);System.out.println…

android 足球游戏,足球游戏哪个好玩,安卓单机足球游戏哪个好玩

足球游戏 实况8好玩吗&#xff1f;经典&#xff01;&#xff01;非常经典&#xff01;&#xff01;足球足球街机游戏好玩吗反正我觉得挺好玩的。话说你们不觉得新浪有借很棒么&#xff0c;人人都能借五千&#xff0c;而且提额相当容易&#xff0c;还很安全。什么样的足球游戏好…

键盘录入一个字符串,判断是否是对称字符串

import java.util.Scanner;/*** 键盘录入一个字符串&#xff0c;判断是否是对称字符串* 对称字符串&#xff1a;123321* 非对称字符串&#xff1a;123123*/ public class Demo8 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.…

android p正式版,国内首家!一加正式推送Android P正式版

近日&#xff0c;相信不少一加6的用户都收到了Android9.0也就是Android P系统的推送&#xff0c;如果没有记错的话&#xff0c;这应该是首个推送Android P稳定版的系统&#xff0c;而此前一加也是首个开放Android P公测的手机品牌&#xff0c;看来一加在系统的更新推进速度上确…

StringBuilder 和 String拼接10万个字符串的速度测试差别太大了

/*** StringBuilder 和 String拼接10万个字符串的速度测试差别太大了* String耗时毫秒: 32693* StringBuilder耗时毫秒: 16*/ public class Demo7 {public static void main(String[] args) {long lsg getString();System.out.println("String耗时毫秒: " lsg);lon…

html 浮动窗口置顶,jQuery简单实现页面元素置顶时悬浮效果示例

本文实例讲述了jQuery简单实现页面元素置顶时悬浮效果的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;一、JS Code&#xff1a;$.fn.smartFloat function () {var position function (element) {var top element.position().top, pos element.css("pos…

键盘录入,替换敏感词

import java.util.Scanner;/*** 键盘录入&#xff0c;替换敏感词*/ public class Demo6 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println("请输入一个字符串&#xff0c;列如&#xff1a;去你TMD阿巴阿巴TMD阿巴阿…

html悬停放大图片代码,html – 放大图像并在悬停时显示div

在图像悬停时,我想放大图像并显示带有透明背景的div.这是我的代码.在下面的示例中,当我将鼠标悬停在.Image类中的图像上时,我想要缩放它,并希望在div的中心显示类.mylink的链接.我能够放大悬停但是当我为.text添加样式时,它不再放大图像.HTML&#xff1a;linkCSS&#xff1a;#B…

使用字符串切割,使手机号中间四位隐藏

/*** 使用字符串切割&#xff0c;使手机号中间四位隐藏*/ public class Demo5 {public static void main(String[] args) {//随便模拟一个手机号String str "18857552632";//切割前三位String s1 str.substring(0, 3);//切割后四位String s2 str.substring(7);Sys…

夜间模式html,夜间模式.html

demo.dark {background-color: #363636;filter: invert(100) hue-rotate(180deg);}.dark img {filter: invert(100) hue-rotate(180deg);}Switch theme一个第三方的 GMail 的 Web 客户端。百度链接var darkSwitch falsedocument.getElementById(switch).addEventListener(clic…

判断一个字符串大写小写,和数字出现的次数

/*** 判断一个字符串大写小写&#xff0c;和数字出现的次数*/ public class Demo4 {public static void main(String[] args) {String str "A1baC51-*/";//将字符串转为字符数组&#xff1b;char[] chars str.toCharArray();int bigCount 0, smallCount 0, numCo…

html bootstrap复选框全选,javascript+bootstrap+html实现层级多选框全层全选和多选功能代码实例...

想做一个先按层级排序并可以多选的功能&#xff0c;首先倾向于用多层标签式的&#xff0c;直接选定加在文本域里&#xff0c;接下来通过本文给大家介绍htmljavascriptbootstrap实现层级多选框全层全选和多选功能&#xff0c;需要的朋友参考下想做一个先按层级排序并可以多选的功…

最简单的控制台登录小案例,适合初学者

import java.util.Scanner;/*** 登录小案例*/ public class Demo2 {public static void main(String[] args) {String username "abc";String passworld "123";Scanner scanner new Scanner(System.in);for (int i 0; i < 3; i) {System.out.printl…