第十三章,枚举与泛型例题

news2024/11/8 13:55:42

例题1

package 例题;

interface SeasonInterface{
	//四季接口
	int SPRING = 1, SUMMER = 2, AUTUMN = 3, WINTER = 4;
}

enum SeasonEnum{
	//四季枚举
	SPRING,SUMMER,AUTUMN,WINTER
}


public class 例题1 {
	//定义方法
	public static void printSeason1(int season){
		switch (season) {
		case SeasonInterface.SPRING:
			System.out.println("这是春季");
			break;
		case SeasonInterface.SUMMER :
			System.out.println("这是夏季");
			break;
		case SeasonInterface.AUTUMN :
			System.out.println("这是秋季");
			break;
		case SeasonInterface.WINTER :
			System.out.println("这是冬季");
			break;
		default:
			System.out.println("这不是四季常量值");
			break;
			}
		}
		 
		 public static void printSeason2(SeasonEnum season){
			 switch (season) {
				case SPRING:
					System.out.println("这是春季");
					break;
				case SUMMER :
					System.out.println("这是夏季");
					break;
				case AUTUMN :
					System.out.println("这是秋季");
					break;
				case WINTER :
					System.out.println("这是冬季");
					break;
					}
		 }
	public static void main(String[] args) {
		//使用接口常量做参数
		printSeason1(SeasonInterface.SPRING);
		//使用数字做参数
		printSeason1(3);
		//使用接口常量值以外的数字冒充常量值
		printSeason1(-1);
		//使用枚举做参数
		printSeason2(SeasonEnum.WINTER);
		
	}
}

结果

 

例题2

package 例题;

//定义枚举
enum Season{
	SPRING, SUMMER, AUTUMN, WINTER
}

public class 例题2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//使用枚举方法values
		Season se[] = Season.values();
		for(int i = 0; i < se.length; i++) {
			System.out.println("枚举常量:" + se[i]);
		}
	}

}

结果

 

例题3

package 例题;

enum Season8 {
	SPRING, SUMMER, AUTUMN, WINTER
}

public class 例题3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Season8 se = Season8.valueOf("SUMMER");//根据字符串创建一个枚举值
		Season8 se1[] = Season8.values();//获取所有枚举值
		for(int i = 0; i<se1.length;i++ ) {
			String message = "";//待输出消息
			int result = se.compareTo(se1[i]);//记录两个枚举比较的结果
			if(result  < 0) {
				message = se + "在" + se1[i] + "的前" + (-result) + "个位置";
			}
			else if(result>0) {
				message = se + "在" + se1[i] + "的后" + (result) + "个位置";
			}
			else if(result==0) {
				message = se + "与" + se1[i] + "是同一个值" ;
			}
			System.out.println(message);
		}
	}

}

结果 

 

 例题4

package 例题;
enum SE{
	SPRING, SUMMER, AUTUMN, WINTER
}
public class 例题4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SE se[] = SE.values();
		for(int i = 0; i < se.length; i++) {
			System.out.println(se[i] + "在枚举类型中位置索引值" + se[i].ordinal());
		}
	}

}

结果

例题5

package 例题;
enum Seaon{
	SPRING("万物复苏"),
	SUMMER("烈日炎炎"),
	AUTUMN("秋草枯黄"),
	WINTER("白雪皑皑");
	
	public String remarks;//枚举的备注
	
	private Seaon(String remarks) {//构造方法
		this.remarks = "我是" + this.toString() + "我来之后" + remarks + "。";
	}
	
	public String getRemarks() {//获取备注方法
		return remarks;
		
	}
}
public class 例题5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Seaon ss[] = Seaon.values();
		for(int i = 0; i < ss.length; i++) {
			System.out.println(ss[i].getRemarks());
		}
	}

}

 结果

例题6

package 例题;

public class 例题6<T> {
	private T bookinfo;
	public 例题6(T bookinfo) {
		this.bookinfo = bookinfo;
	}
	public 例题6() {
		// TODO Auto-generated constructor stub
	}
	public T getBookinfo() {
		return bookinfo;
	}
	public static void main(String[] args) {
		//创建参数String类型的书名对象
		例题6<String> bookName = new 例题6("Java从入门到精通");
//		创建参数String类型的作者对象
		例题6<String> bookAuthor = new 例题6("明日科技");
		//创建参数String类型的价格对象
		例题6<Double> bookPrice = new 例题6(69.8);
		//创建参数String类型的附赠源码
		例题6<Boolean> hasSource = new 例题6(true);
		System.out.println("书名:" + bookName.getBookinfo());
		System.out.println("作者:" + bookAuthor.getBookinfo());
		System.out.println("价格:" + bookPrice.getBookinfo());
		System.out.println("是否附赠源码:" + hasSource.getBookinfo());

	}

}

 结果

例题7

package 例题;

public class 例题7<A> {
	private A[] array;
	public A[] getarray() {
		return array;
	}
	public void setArry(A[] array) {
		this.array = array;
	}
	public static void main(String[] args) {
		例题7<String> dome = new 例题7();
		String value[] = {"成员1", "成员2", "成员3", "成员4", "成员5"};
		dome.setArry(value);
		String array[] = dome.getarray();
		for(int i = 0; i < array.length; i++) {
			System.out.println(array[i]);
		}
	}

}

 结果

例题8

package 例题;
import java.util.*;

public class 例题8 {

	public static void main(String[] args) {
		//定义ArrayList容器,设置容器内是的值为Integer
		ArrayList<Integer> a = new ArrayList<Integer>();
		a.add(1);
		for(int i = 0; i<a.size(); i++) {
			//根据容器长度,循环显示容器内的值
			System.out.println("获取ArrayList容器成员的值:" + a.get(i));
		}
		//定义HashMap容器,设置容器的键名与键值类型分别为Integer型与String型
		HashMap<Integer ,String> m = new HashMap<Integer ,String>();
		for(int i = 0; i<5; i++) {
			m.put(i, "成员" + i);
		}
		for(int i = 0; i<m.size(); i++) {
			System.out.println("获取Map容器成员的值;"  + m.get(i));
		}
	}

}

 结果

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

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

相关文章

MAA连不上MUMU模拟器

之前一直能正常用&#xff0c;最近突然连接不上&#xff0c;最终发现是adb版本不同造成的&#xff0c;我系统变量的adb版本如下&#xff1a; MUMU自带adb版本如下&#xff1a; 解决办法&#xff1a; 把mumu的adb复制到系统变量路径下&#xff0c;或者把adb的系统变量删除

基于OpenHarmony的启航开发板的基础操作

文章目录 前言一、前提准备二、基础操作1.hb set命令的使用2.hb build -f 命令的使用3.Hello World 案例 前言 在物联网&#xff08;IoT&#xff09;领域&#xff0c;开发板扮演着至关重要的角色&#xff0c;为开发人员提供了实验和原型设计的平台。而OpenHarmony作为一个开源…

NOR Flash基本原理

目录 1. Flash Memory中存储的信息 2. Flash操作 2.1 Read操作 2.2 Program操作 2.3 Erase操作 3 电压阈值分布 4 Block Erase 4.1 Pre-Program Phase 4.2 Erase Phase 4.3 Recovery Phase 5 Erase 中断 6 注意要点 这是之前搞Flash IP时的一个学习笔记&#xff0c…

力扣 搜索旋转排序数组 二分

&#x1f468;‍&#x1f3eb; 33. 搜索旋转排序数组 class Solution {public int search(int[] nums, int target){int l 0;int r nums.length - 1;while (l < r){int m l r >> 1;//else大法&#xff0c;把无序段抛给else&#xff0c;if只处理有序段 // 需要特…

Flutter屏幕适配

文章目录 一、Flutter单位二、设备信息三、常见适配方案四、flutter_screenutil 一、Flutter单位 Flutter使用的是类似IOS中的点pt&#xff08;point&#xff09;。 iPhone6的尺寸是375x667&#xff0c;分辨率为750x1334。 iPhone6的dpr( devicePixelRatio ) 是2.0。 DPR 物…

论文 辅助笔记:t2vec train.py

1 train 1.1 加载training和validation数据 def train(args):logging.basicConfig(filenameos.path.join(args.data, "training.log"), levellogging.INFO)设置了日志的基本配置。将日志信息保存到名为 "training.log" 的文件中日志的级别被设置为 INFO&…

Vue动态树、配置请求路径、表格数据显示、实现分页、创建书本管理组件、点击菜单实现路由跳转以及系统首页配置。

目录 1. 准备工作 2. 动态树 2.1 在配置请求路径 2.2 使用动态数据构建导航菜单 2.2.1 通过接口获取数据 2.2.3 通过后台获取的数据构建菜单导航 2.2.3.1 先构建一级导航菜单 2.3 点击菜单实现路由跳转 2.3.1 创建书本管理组件 3. 系统首页配置 4. 表格数据显示 4.…

探密工业互联网网络体系:构建端到端的稳定传输

什么是工业互联网网络&#xff1f; 工业互联网网络是一种将工业设备、传感器和计算机系统连接到一起&#xff0c;以便它们可以共同工作、共享数据和实现更高效的生产和控制。这个网络体系的目标是提高工业过程的效率、可靠性和安全性。 在数字时代的今天&#xff0c;工业互联网…

无广告弹出的便签工具选择哪一款?

广告弹窗&#xff0c;是许多人在日常办公中比较反感的问题&#xff0c;打开一个软件正准备使用时&#xff0c;突然冒出一个广告弹窗&#xff0c;这会给人一种特别反感的情绪&#xff0c;尤其是在专注记录工作任务备忘的时候&#xff0c;意外冒出的广告窗口可真让人心烦。那么&a…

Apple 苹果发布 M3、M3 Pro 和 M3 Max 芯片

本心、输入输出、结果 文章目录 Apple 苹果发布 M3、M3 Pro 和 M3 Max 芯片前言M3、M3 Pro 和 M3 Max 芯片的性能相关资料图M3 Pro规格M3 Max规格弘扬爱国精神 Apple 苹果发布 M3、M3 Pro 和 M3 Max 芯片 编辑&#xff1a;简简单单 Online zuozuo 地址&#xff1a;https://blog…

若依框架中SpringSecurity的实现流程

文章目录 Spring Security概述核心原理 若依Sprint Security分析配置类分析流程分析图过滤器分析 若依登录/退出流程流程图登录退出 写在开头: 本篇博客与核桃共同完成 Spring Security 概述 Spring Security 是一个功能强大且高度可定制的身份验证和访问控制框架&#xff0c…

go微信开发sdk-简单使用_已设置图床

go微信开发sdk-简单使用 GitHub - silenceper/wechat: WeChat SDK for Go &#xff08;微信SDK&#xff1a;简单、易用&#xff09; 使用的sdk为上述的&#xff0c;这边给出快速的项目实例 git clone https://github.com/gowechat/example.git简单的项目结构 这边简单用dock…

多线程锁的升级原理是什么

在 Java 中&#xff0c;锁共有 4 种状态&#xff0c;级别从低到高依次为&#xff1a;无状态锁&#xff0c;偏向锁&#xff0c;轻量级锁和重量级锁状态&#xff0c;这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级。 多线程锁锁升级过程 如下图所示 多线程锁的升级过程…

数字孪生技术:城市交通的智能引领

城市交通问题一直是我们日常生活中的头等大事。交通拥堵、公共交通不便、环境污染等问题常常困扰着城市居民。然而&#xff0c;数字孪生技术正以令人兴奋的方式改变着城市交通的面貌&#xff0c;为城市交通带来了新的变化。 实时交通监测&#xff1a;数字孪生技术通过网络连接的…

动态规划:“以宇换宙”的优雅工艺

Those who do not remember the past are condemned to repeat it. 那些不能铭记历史的人注定要重蹈覆辙。 在动态规划——经典案例分析中我们提到了斐波那契数列的求解思路。知道动态规划的主要优点是能够在解决问题时避免重复计算&#xff0c;通过利用已经计算过的结果来加速…

Java实现Web的ashx对接ORM

之前的介绍已经实现了ORM的主体和Web的调用结构主题&#xff0c;那么这次把Web和LIS.Core的容器和ORM做对接&#xff0c;通过ashx实现的业务类测试调用ORM查询数据。 首先改造容器让传入根地址 package LIS.Core.Context;import org.w3c.dom.Document; import org.w3c.dom.El…

单例模式-懒汉式双重锁机制

正是因为担心并发问题&#xff0c;才在双重检查锁模式中的synchronized内部进行了再次判断 tnull。 在第一次判断 tnull 之后&#xff0c;当多个线程同时通过这个检查&#xff0c;其中一个线程会获得锁并创建实例。然而&#xff0c;其他线程在此期间可能会继续等待锁释放&…

ViT Vision Transformer超详细解析,网络构建,可视化,数据预处理,全流程实例教程

关于ViT的分析和教程&#xff0c;网上又虚又空的东西比较多&#xff0c;本文通过一个实例&#xff0c;将ViT全解析。 包括三部分内容&#xff0c;网络构建&#xff1b;orchview.draw_graph 将网络每一层的结构与输入输出可视化&#xff1b;数据预处理。附完整代码 网络构建 …

【Code Reading】Transformer in vision and video

文章目录 1. vit2. Swin-t3. vit_3D4. TimeSformer First&#x1f680;&#x1f680;5. vivit 1. vit 详细解释 在论文的Table1中有给出三个模型&#xff08;Base/ Large/ Huge&#xff09;的参数&#xff0c;在源码中除了有Patch Size为16x16的外还有32x32的。其中的Layers就…

基于MIMO通信系统的球形译码算法matlab性能仿真,对比PSK检测,SDR检测

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ................................................................ for i1:length(SNR) Bit…