Java习题练习(一)

输出[1,100]内所有的质数,并统计

		System.out.println(1);
		int sum = 0;
		for(int a = 2; a < 101; a++) {
			
			int b = 2;
			while (b < a) {
				
				if (a % b == 0) {
					
					break;
					
				}
				b++;
			}
			
			if (a == b) {
				System.out.println(b);
				sum += 1;
			}
			
		}
		System.out.println("在[1,100]内,质数总数为:" + (sum+1));

求斐波拉契数列的第十个数字大小
	public static void main(String[] args) {
		
			int n =10;
			System.out.println(func(n));
		}
	private static int func(int n) {
		
		if (n == 1 || n== 2) {
			return 1;
		}
		else {
			return func(n-1) + func(n-2);
		}
			
		}
判断三位数的各个位置,顺便求个水仙花。
		for(int i = 100; i < 1001; i++) {
			int a = i / 100;
			int b = i / 10 % 10;
			int c = i % 10;
			if (i == a*a*a + b*b*b +c*c*c) {
				System.out.println(i);
			}
		}

不是题目,熟悉一下方法调用
	public static void main(String[] args) {
		String[] names = new String[8];
		getName(names);
		printNames(names);
		String name = rdnames(names);
		System.out.println("___________________");
		System.out.println(name);
	}
	
	public static void getName(String[] names) {
		names[0] = "A";
		names[1] = "B";
		names[2] = "C";
		names[3] = "D";
		names[4] = "E";
		names[5] = "F";
		names[6] = "G";
		names[7] = "H";						
	}
	public static void printNames(String[] names) {
		for(int i = 0; i < names.length; i++) {
			System.out.println(names[i]);
		}
	}
	public static String rdnames(String[] names) {
		int index = new Random().nextInt(names.length);
		return names[index];
	}

集合里面,随机数生成:

	public static void main(String[] args) {
		ArrayList<studentName> array = new ArrayList<studentName>();
		add(array);
		for( int i = 0; i < array.size(); i++) {
			studentName s = array.get(i);   //返回的是类!
			System.out.println(s.name + "  " + s.age);
		}
		Random rd = new Random();
		studentName m = array.get(rd.nextInt(array.size()));
		System.out.println(m.name + "  " + m.age);
	}
	public static void add(ArrayList<studentName> array) {
		studentName sn1 = new studentName();
		studentName sn2 = new studentName();
		studentName sn3 = new studentName();
		studentName sn4 = new studentName();
		studentName sn5 = new studentName();
		sn1.name = "yi";
		sn1.age = 1;
		sn2.name = "er";
		sn2.age = 2;
		sn3.name = "san";
		sn3.age = 3;
		sn4.name = "si";
		sn4.age = 4;
		sn5.name = "wu";
		sn5.age = 5;
		array.add(sn1);
		array.add(sn2);
		array.add(sn3);
		array.add(sn4);
		array.add(sn5);
	}

斗地主打牌

public class Doudizhu  {
 	public static void main(String[] args) {
 		//1. 组合牌
 		//创建Map集合,键是编号,值是牌
 		HashMap<Integer,String> pooker = new HashMap<Integer, String>();
 		//创建List集合,存储编号
 		ArrayList<Integer> pookerNumber = new ArrayList<Integer>();
 		//定义出13个点数的数组
 		String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
 		//定义4个花色数组
 		String[] colors = {"♠","♥","♣","♦"};
 		//定义整数变量,作为键出现
 		int index = 2;
 		//遍历数组,花色+点数的组合,存储到Map集合
 		for(String number : numbers){
 			for(String color : colors){
 				pooker.put(index, color+number);
 				pookerNumber.add(index);
 				index++;
 			}
 		}
 		//存储大王,和小王
 		pooker.put(0, "大王");
 		pookerNumber.add(0);
 		pooker.put(1, "小王");
 		pookerNumber.add(1);
 		
 		//洗牌,将牌的编号打乱
 		Collections.shuffle(pookerNumber);
 		
 		//发牌功能,将牌编号,发给玩家集合,底牌集合
 		ArrayList<Integer> player1 = new ArrayList<Integer>();
 		ArrayList<Integer> player2 = new ArrayList<Integer>();
 		ArrayList<Integer> player3 = new ArrayList<Integer>();
 		ArrayList<Integer> bottom = new ArrayList<Integer>();
 		
 		//发牌采用的是集合索引%3
 		for(int i = 0 ; i < pookerNumber.size() ; i++){
 			//先将底牌做好
 			if(i < 3){
 				//存到底牌去
 				bottom.add( pookerNumber.get(i));
 			   //对索引%3判断
 			}else if(i % 3 == 0){
 				//索引上的编号,发给玩家1
 				player1.add( pookerNumber.get(i) );
 			}else if( i % 3 == 1){
 				//索引上的编号,发给玩家2
 				player2.add( pookerNumber.get(i) );
 			}else if( i % 3 == 2){
 				//索引上的编号,发给玩家3
 				player3.add( pookerNumber.get(i) );
 			}
 		}
 		//对玩家手中的编号排序
 		Collections.sort(player1);
 		Collections.sort(player2);
 		Collections.sort(player3);
 		//看牌,将玩家手中的编号,到Map集合中查找,根据键找值
 		//定义方法实现
 		look("A",player1,pooker);
 		look("B",player2,pooker);
 		look("C",player3,pooker);
 		look("底牌",bottom,pooker);
 	}
 	public static void look(String name,ArrayList<Integer> player,HashMap<Integer,String> pooker){
 		//遍历ArrayList集合,获取元素,作为键,到集合Map中找值
 		System.out.print(name+" ");
 		for(Integer key : player){
 			String value = pooker.get(key);
 			System.out.print(value+" ");
 		}
 		System.out.println();
 	}
 }

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值