ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java-Work10-泛型(1)

2021-12-08 19:04:43  阅读:184  来源: 互联网

标签:case Work10 Java String Poker break toString str 泛型


题目要求

  1. 自定义泛型并使用

  2. 编写1个随机生成花色的Color类,1个随机生成点数的Point类,以及1个泛型类Poker<C,P>

  3. 在主类中调用泛型类随机生成5张扑克牌并打印显示。

    提示:在Color类和Point类中重写Object类的toString()方法,该方法分别返回一个随机花色和随机点数。泛型类Poker<C,P>作用就是将C、P两个的toString()组合起来即可。

题目要点

  1. 泛型对象的初始化

题目代码

package work10;

import java.util.Random;

class Color
{
	@Override
	public String toString()
	{
		String str;
		Random r = new Random();
		int i = r.nextInt(4) + 1; // 随机生成1到4的整数

		switch(i)// 选择初始化花色
		{
			case 1:
				str = "黑桃";
				break;
			case 2:
				str = "红心";
				break;
			case 3:
				str = "梅花";
				break;
			default:
				str = "方片";
				break;
		}
//		System.out.println(str);
		return str;
	}
}

class Point
{
	@Override
	public String toString()
	{
		String str;
		Random r = new Random();
		int i = r.nextInt(13) + 1;// 随机生成1到13的整数

		switch(i)// 选择初始化点数
		{
			case 1:
				str = "A";
				break;
			case 11:
				str = "J";
				break;
			case 12:
				str = "Q";
				break;
			case 13:
				str = "K";
				break;
			default:
				str = Integer.toString(i);
				break;
		}
//		System.out.println(str);
		return str;
	}
}

class Poker<C, P>
{// 定义泛型类Poker
	C c;
	P p;

	Poker(C c, P p)
	{
		this.c = c;
		this.p = p;
	}

	public String gets()
	{
		return c.toString() + p.toString();// 返回C和P的两个toString()组合
	}

}

public class Work10_1
{
	public static void main(String[] args)
	{
		Color color = new Color();
		Point point = new Point();
		Poker<Color, Point> poker = new Poker<Color, Point>(color, point);
		for(int i = 1; i <= 5; i++)
			System.out.println("随机生成:" + poker.gets());
	}

}

标签:case,Work10,Java,String,Poker,break,toString,str,泛型
来源: https://www.cnblogs.com/Conan-jine/p/15663141.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有