1编写一个Java方法,生成5个不重复的英文小写字母,并按字母顺序排列好。java
| //编写一个Java方法,生成5个不重复的英文小写字母,并按字母顺序排列好。c++
public class Test8 {数组
public static void main(String[] args){dom
//生成的随机数存放在数组中工具
char[]meth=new char[5];ui
for(int i=0;i<5;i++){this
Random ss=new Random();对象
//随机生成英文字母,范围是26 加97转换为小写的英文字母排序
int aa=ss.nextInt(26)+97;索引
meth[i]=(char)aa;
System.out.println("排序以前"+meth[i]);
}
//排序的方法 升序排列
Arrays.sort(meth);
for(int i=0;i
System.out.println("排序以后:"+meth[i]);
}
}
}
|
2. 随机验证码。随机生成十组六位字符组成的验证码。验证码由大小写字母、数字字符组成
| public class Test9 {
public static void main(String[] args) {
meth();
}
public static void meth(){
for (int i=0; i <10; i++) {
for (int j=0; j < 2; j++) {
Random ss = new Random();
int srg = ss.nextInt(26) + 97;//小写字母
int srf = ss.nextInt(26) + 65;//大写字母
int srh = ss.nextInt(10) + 48;//数字
char aa = (char) srg;
char bb = (char) srf;
char cc = (char) srh;
System.out.print(aa+" "+bb+" "+cc+" ");
}
System.out.println();
}
}
}
|
3. 猜数字小游戏,游戏开始时,会随机生成一个 1-100 之间的整数,玩家猜想一个数字,而后跟随机生成的数字进行对比,大了系统提示大了,小了系统提示小了,直到玩家猜中,游戏结束。
| public class Test3{
public static void main(String[]args){
Random arr=new Random();
int num=arr.nextInt(100);//随机生成1到100 之间的整数
Scanner input=new Scanner(System.in);
while (true){
System.out.println("请玩家输入一个数字");
int sum=input.nextInt();
if(sum>num){
System.out.println("大了");
}else if(sum
System.out.println("小了");
}else if(num==sum) {
System.out.println("恭喜您猜中了");
break;
}
}
System.out.println("游戏结束");
}
}
|
4. 键盘录入学生信息,保存到集合中。循环录入的方式,1:表示继续录入,0:表示结束录入。定义学生类,属性为姓名,年龄,使用学生对象保存录入数据。
使用ArrayList集合,保存学生对象,录入结束后,遍历集合。
| public class Test10 {
//定义一个全局的ArrayListlist;
private ArrayList list;
public static void main(String[]args){
//建立当前类的对象,调用成员方法
Test10 test10=new Test10();
test10.display();
}
public void display() {
//使用ArrayList来保存Student对象
list = new ArrayList<>();
Student student = null;
while (true) {
//循环一次从新赋值
student = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生的信息:1:表示继续录入,0:表示结束录入");
int a = sc.nextInt();
//等于1的时候,表示继续录入
if(a==1) {
System.out.println("请录入学生的姓名");
String name = sc.next();
System.out.println("请录入学生的年龄");
int age = sc.nextInt();
//使用学生对象保存录入的数据
student.setName(name);
student.setAge(age);
//保存学生对象到Arraylist集合中
list.add(student);
} else if (a == 0) {
//等于0时,表示录入结束,录入结束后遍历集合
for (Student ss : list) {
System.out.println(ss.getName() + "====" + ss.getAge());
}
System.out.println("录入完毕 OK-OK");
break;
} else {
System.out.println("你的输入有误");
break;
}
}
}
}
|
5. 集合工具类。 定义findIndex方法,在某集合中,查找某元素,返回第一次出现的索引。 定义replace方法,将某集合中的某元素,所有替换为新元素。
| public class Test11 {
public static void main(String[] args) {
ArrayListlist=new ArrayList<>();
list.add(83);
list.add(72);
list.add(83);
list.add(83);
list.add(77);
list.add(75);
list.add(72);
list.add(72);
list.add(67);
list.add(65);
//建立当前类的对象
Test11 test11=new Test11();
System.out.println("72的索引是:"+test11.findIndex(list,72));
System.out.print("替换以前:[");
for(Integer ss:list){
System.out.print(+ss+" ");
}
System.out.print("]");
System.out.println();//换行
test11.replace(list,72,88);
System.out.print("替换以后:[");
for(Integer arg:list){
System.out.print(arg+" ");
}
System.out.print("]");
}
//list就是要查找的集合,aa就是要查找的元素
public int findIndex(ArrayListlist,int aa){
int index=-1;//表示没有
for(int i=0;i
if(list.get(i)==aa){
index=i; //把下标给index,根据下标返回索引
break;
}
}
return index;
}
public void replace(ArrayListlist,int oldValue,int newValue){
for(int i=0;i
if(list.get(i)==oldValue){
//用指定的元素替换此列表中指定位置的元素
//根据下标给指定位置的元素设置值
list.set(i,newValue);
}
}
}
}
//运行的结果:
72的索引是:1
替换以前:[83 72 83 83 77 75 72 72 67 65 ]
替换以后:[83 88 83 83 77 75 88 88 67 65 ]
|
6统计数字出现次数。 定义getNumList方法,随机生成100个数字,数字范围从1到10。 定义printCount方法,统计每一个数字出现的次数并打印到控制台。
| public class Test12 {
public static void main(String[] args){
//建立当前类的对象
Test12 meth=new Test12();
int[]ss=meth.getNumList();
for(int i=0;i
System.out.println(ss[i]);
}
meth.printCount(ss);
}
public int[] getNumList(){
int[]aa=new int[100];
for(int i=0;i<100;i++){
Random r=new Random();
aa[i]=r.nextInt(10);
}
return aa;
}
public void printCount(int[]src){
//kongzhi
int num=0;
//由于代码实现效果是10个数
for(int i=0;i<10;i++){
int count=0;
for(int j=0;j
if(src[j]==num){
count++;
}
}
num++;
System.out.println("数字:"+num+"出现了"+count+"次");
}
}
}
//运行的结果:
数字:1出现了7次
数字:2出现了10次
数字:3出现了12次
数字:4出现了13次
数字:5出现了11次
数字:6出现了4次
数字:7出现了7次
数字:8出现了11次
数字:9出现了16次
数字:10出现了9次
|
7. 模拟统计班级考试分数分布状况,分别统计100-80,79-60,59-40,39-0各个阶段的人数。 定义getScoreList方法,随机生成50个数字,数字范围从0到100。 定义countScore方法,统计各个阶段的分数个数。 定义printCount方法,打印各个阶段的统计结果。
| public class Test13 {
public static void main(String[] args) {
//建立当前类的对象
Test13 sc=new Test13();
int[]meth=sc.getScoreList();
for(int i=0;i
System.out.print(meth[i]+" ");
}
System.out.println();
sc.countScore(meth);
}
public int[] getScoreList(){
int[]meth=new int[50];
for(int i=0;i<50;i++){
Random ss=new Random();
meth[i]=ss.nextInt(100);//生成的范围
}
return meth;
}
public void countScore(int[]sum){
int a=0;
int b=0;
int c=0;
int d=0;
for(int i=0;i
if(sum[i]>=80&&sum[i]<=100){
a++;
}else if(sum[i]>=60&&sum[i]<=79){
b++;
}else if(sum[i]>=40&&sum[i]<=59){
c++;
}else if(sum[i]>0&&sum[i]<=39){
d++;
}
}
System.out.println("80--100分的个数:"+a+"人");
System.out.println("60--79分的个数:"+b+"人");
System.out.println("40--59分的个数:"+c+"人");
System.out.println("0--39分的个数:"+d+"人");
}
}
//运行的结果:
80--100分的个数:15
80--100分的个数:8
80--100分的个数:7
80--100分的个数:20
|
8. 随机生成n张扑克牌。开发提示:使用集合保存全部的扑克牌对象。 从全部牌中,随机移除n张牌,保存到新集合。 判断n的值,不能超越一副扑克牌的范围。
| public class Test14 {
public static void main(String[] args) {
//建立当前类的对象
Test14 srg=new Test14();
int n=10;
ArrayListmeth=srg.MoveString(n);
if(meth!=null){
System.out.println("随机第"+n+"张牌");
for(Card qq:meth){
System.out.print(qq.getHs()+""+qq.getDs()+" ");
}
}
}
//从全部牌中,随机移除n张牌,保存到新集合。
public ArrayList MoveString(int n){
//此集合用来保存移除的牌
ArrayListlist2=new ArrayList<>();
//判断n的值,不能超越一副扑克牌的范围。
if(n>54||n<0){
return null;
}else{
//此集合用来保存生成的全部的牌
ArrayListlist3=getString();
Random ss=new Random();
for(int i=0;i
int index=ss.nextInt(list3.size());//范围是list集合中存储的花色和点数
//remove方法是有返回值的,返回的就是当前移除的对象,移除谁返回谁。
Card card=list3.remove(index);//根据下标索引移除
//把移除的n张牌保存到新的集合中
list2.add(card);
}
}
return list2;
}
public ArrayList getString(){
//此集合用来保存生成的花色和点数
ArrayListlist=new ArrayList<>();
String[]hs={"红桃","黑桃","梅花","方片"};
String[]ds={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for(int i=0;i
for(int j=0;j
//利用面向对象的知识
//建立目标类的对象,把花色和点数放在对象中
Card card=new Card(hs[i],ds[j]);
list.add(card);//把对象保存到list集合中
}
}
return list;
}
}
//利用面向对象的思路解决问题
public class Card {
String hs;
String ds;
public Card(){
}
public Card(String hs,String ds){
this.hs=hs;
this.ds=ds;
}
public String getHs() {
return hs;
}
public void setHs(String hs) {
this.hs = hs;
}
public String getDs() {
return ds;
}
public void setDs(String ds) {
this.ds = ds;
}
}
//运行的结果
随机第10张牌
梅花A 方片K 梅花4 方片2 方片6 梅花J 方片5 梅花2 红桃5 方片10
|
9. 自定义MyList类,实现存取元素的功能。 定义add方法,能够保存元素,添加MyList尾部。 定义remove方法,能够获取到最后添加的元素,并从MyList中移除该元素。 定义show方法,能够展现MyList中的元素。
| import java.util.ArrayList;
public class MyList {
ArrayListlist=new ArrayList<>();
public void add(Integer a){
list.add(a);
}
public int remove(){
int move=list.remove(list.size()-1);
return move;
}
public void show(){
System.out.println(list);
}
public static void main(String[] args) {
//建立当前类的duix
MyList myList=new MyList();
for(int i=0;i<5;i++){
myList.add(i);
}
System.out.println("添加元素后:");
myList.show();
System.out.println("获取元素:");
int num=myList.remove();
System.out.println(num);
//获取元素后
myList.show();
}
}
//运行的结果:
添加元素后:
[0, 1, 2, 3, 4]
获取元素:
4
[0, 1, 2, 3]
|
10. 模拟乐透号码。 随机生成10个号码,范围1-50,做为乐透号码。 键盘录入10个整数,不能重复。 录入的整数与乐透号码对比,统计猜中了几个。当使用ArrayList集合时,能够经过contains方法,判断某集合中是否包含某元素,方法示例以下:
| public class Test17 {
public static void main(String[] args) {
//建立当前类的对象
Test17 t=new Test17();
ArrayListlist=t.getString();
System.out.println("随机生成的数是:");
for(int a:list){
System.out.print(a+" ");
}
System.out.println();
//用户输入的数
ArrayListlist2=t.setString();
System.out.println("用户输入的数"+list2);
System.out.println("随机生成的数"+list);
System.out.println("猜中了"+t.stuName(list,list2)+"个数数字");
}
//此方法用来作对比,随机生成的数和用户输入的数对比,看猜中的几个
public int stuName(ArrayList getString,ArrayList setString){
int count=0;
for(int i=0;i
int temp=getString.get(i);
if(setString.contains(temp)){
count++;
}
}
return count;
}
//键盘输入的数
public ArrayList setString(){
ArrayListlist1=new ArrayList<>();
Scanner r=new Scanner(System.in);
for(int i=0;i<10;i++){
System.out.println("请输入数字");
int sum=r.nextInt();
//若是不包含就添加到list集合中
if(!list1.contains(sum)){
list1.add(sum);
}else{
System.out.println("重复数字无效");
i--;
}
}
return list1;
}
//随机生成的数
public ArrayList getString(){
ArrayListlist=new ArrayList<>();
Random ss=new Random();
for(int i=0;i<10;i++){
int num=ss.nextInt(50)+1;
//若是包含(true)则取相反,就变为false
//也就是说不包含的话,就添加到集合中
if(!list.contains(num)){
list.add(num);
}else{
i--;
}
}
return list;
}
}
//运行的结果:
用户输入的数[23, 45, 65, 67, 78, 8, 76, 54, 43, 9]
随机生成的数[36, 11, 26, 27, 46, 4, 44, 48, 2, 43]
猜中了1个数数字
|