Java练习

news2024/11/14 23:28:25

 添加你喜欢的歌手以及你喜欢他唱过的歌曲,并遍历

package Test0726;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.*;

public class SingerTest {
    public static void main(String[] args) {
        HashMap singers = new HashMap();

        String singer1 = "周杰伦";

        //添加一个歌手和歌曲
        ArrayList songs1 = new ArrayList();

        songs1.add("夜曲");
        songs1.add("晴天");
        songs1.add("七里香");
        songs1.add("发如雪");
        songs1.add("屋顶");
        songs1.add("青花瓷");

        singers.put(singer1, songs1);

        //再添加1个歌手和歌曲
        String singer2 = "林俊杰";
        ArrayList songs2 = new ArrayList<>();
        songs2.add("江南");
        songs2.add("曹操");
        songs2.add("小酒窝");
        songs2.add("可惜没如果");

        singers.put(singer2, songs2);

        Set entrySet = singers.entrySet();
        Iterator iterator = entrySet.iterator();
        while(iterator.hasNext()){
            Map.Entry entry = (Map.Entry) iterator.next();
            System.out.println("歌手:" + entry.getKey());
            System.out.println("歌曲有:" + entry.getValue());
        }
    }
}

//1获取Map,并遍历MAP中的所有的Key
/2根据提示,从键盘获取省份值,判断此省份是否存在,如果存在遍历其value 中的各个城市。
//如果不存在,提示用户重新输入
//3. 根据提示,从键盘获取城市,遍历各个城市构成的String[],判断输入的城市是否存在于此数组中
// 如果存在,信息登记完毕。如果不存在,提示用户重新输入。
package Test0726;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class CityMap {

    public static void main(String[] args) {

        //1获取Map,并遍历MAP中的所有的Key
        Map map = CityMapTest.model;

        Set provinces = map.keySet();
        for (Object province : provinces) {
            System.out.print(province + "\t\t");
        }
        System.out.println();
        //2根据提示,从键盘获取省份值,判断此省份是否存在,如果存在遍历其value 中的各个城市。
        //如果不存在,提示用户重新输入
        Scanner scan = new Scanner(System.in);
        String[] cities;
        while (true) {
            System.out.println("请选择你所在的省份:");
            String provtainsKey = scan.next();
            //获取省份对应的各个城市构成的String[]
            cities = (String[]) map.get(provtainsKey);

            if (cities == null) {
                System.out.println("你输入的省份有误,请重新输入");
            } else {
                break;//用户输入省份存在
            }
        }
        for (int i = 0; i < cities.length; i++) {
            System.out.print(cities[i] + "\t\t");
        }
        //3. 根据提示,从键盘获取城市,遍历各个城市构成的String[],判断输入的城市是否存在于此数组中
        // 如果存在,信息登记完毕。如果不存在,提示用户重新输入。

        l:while(true){
            System.out.println("\n请输入你所在的城市:");
            String city = scan.next();

            for (int i= 0; i< cities.length;i++){
                if(city.equals(cities[i])){
                    System.out.println("信息登记完毕");
                    break l;
                }
            }
            System.out.println("你输入的信息有误");
        }

        scan.close();
    }
}

class CityMapTest{
    public static Map model = new HashMap();
    static{
        model.put("北京",new String[] {"北京"});
        model.put("辽宁",new String[] {"沈阳","盘锦","铁岭","丹东","大连","锦州","营口"});
        model.put("吉林",new String[] {"长春","延边","吉林","白山","白城","四平","松原"});
        model.put("河北",new String[] {"承德","沧州","邯郸","邢台","唐山","保定","石家庄"});
        model.put("河南",new String[] {"郑州","许昌","开封","洛阳","商丘","南阳","新乡"});
        model.put("山东",new String[] {"济南","青岛","日照","临沂","秦安","聊城","德州"});
    }
}

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

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

相关文章

软工导论知识框架(五)面向对象方法学

传统软件工程方法学适用于中小型软件产品开发&#xff1b; 面向对象软件工程方法学适用于大型软件产品开发。 一.四要素 对象&#xff0b;类&#xff0b;继承&#xff0b;传递消息实现通信 二.概念 1.对象&#xff1a;具有相同状态的一组操作的集合&#xff0c;对状态和操作…

批处理处理退格符,一行里输出百分比

直接上例子程序&#xff1a; echo off&setlocal enabledelayedexpansion for /l %%a in (1,1,6) do set "str!str!" rem set /p0%<nul for /L %%i in (0,1,100) do (sleep 1 >nul set /p%str%<nul&set /p%%i%%<nul ) pause>nul 输出效果如…

linuxARM裸机学习笔记(5)----定时器按键消抖和高精度延时实验

定时器按键消抖 之前的延时消抖&#xff0c;是直接借助delay函数进行的&#xff0c;但是这样会浪费CPU的性能。我们采用延时函数的方式实现&#xff0c;可以实现快进快出。 定时器消抖&#xff0c;必须是在t3的时间点才可以&#xff0c;当在t1,t2的时间点每次进入中断函数都要…

SSH 免密登录

SSH SSH&#xff08;Secure Shell&#xff09;是一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录、远程复制等功能 SSH 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令 SSH 为建立在应用层和传输层基础上的安全协议。对数…

vscode关闭绑定元素“xxx”隐式具有“any”类型这类错误

在ts的项目里面&#xff0c;真的经常看到any类型的报错&#xff0c;真的很烦的 所以为了眼不见心不乱&#xff0c;我决定消除这个错误提示 在tsconfig.json里面配置 "noImplicitAny": false 就可以了 {"compilerOptions": {"target": "E…

LeetCode——只出现一次的数字II(位运算方法/哈希方法)

题目地址 力扣 题目解析 位运算法 由题我们能知道该数组中只有一个数出现了一次&#xff0c;然而其他的数都出现了3次。 我们可以通过分析每一个二进制位的和来讨论这个题目的解法&#xff01; 由于前边的条件&#xff0c;那么我们可以得出&#xff0c;某一个二进制位的和…

培训Java技术要多久才能学会?答案都在这里啦

培训Java技术要多久才能学会?这是想学习Java开发的很多人都会问到的一个问题。而这个问题的答案其实并不是那么简单&#xff0c;因为学Java的时间长短受到众多因素的影响。本文将从个人基础、学习动力和学习效率三个方面来为您解答这个问题。 1. 个人基础 自己的基础对于学习…

LT8711UXD 是一款高性能双通道 Type-C/DP1.4 至 HDMI2.0 转换器

LT8711UXD 1.描述 LT8711UXD是一款高性能的双车道TypeC/DP1.4到HDMI2.0转换器&#xff0c;设计用于将USB Type-C源或DP1.4源连接到HDMI2.0接收器。LT8711UXD集成了一个DP1.4兼容的接收机&#xff0c;和一个HDMI2.0兼容的发射机。此外&#xff0c;还包括两个CC控制器&#xff0…

List和数组互转方法以及踩坑点

一、数组转List 1. 使用for循环逐个添加 String[] array {"A", "B", "C"}; List<String> list new ArrayList<>(); for (String element : array) {list.add(element); }2. 使用Arrays.asList(arr) String[] array {"A&q…

机器学习笔记之优化算法(十一)梯度下降法:凸函数VS强凸函数

机器学习笔记之优化算法——梯度下降法&#xff1a;凸函数VS强凸函数 引言凸函数&#xff1a;凸函数的定义与判定条件凸函数的一阶条件凸函数的梯度单调性凸函数的二阶条件 强凸函数强凸函数的定义强凸函数的判定条件强凸函数的一阶条件强凸函数的梯度单调性强突函数的二阶条件…

java.sql.SQLFeatureNotSupportedException 问题及可能的解决方法

目录 问题 分析&#xff1a; 解决方法 问题 java.sql.SQLFeatureNotSupportedException 分析&#xff1a; 可能是你的 druid的maven依赖版本太低了&#xff0c;我的以前是1.1.16&#xff0c;就出现了异常&#xff01; 解决方法 把druid的maven依赖版本调高&#xff01; 运…

tui.calender日历在vue中的使用1.0

官网&#xff1a;https://ui.toast.com/tui-calendar github&#xff1a;https://github.com/nhn/tui.calendar/tree/main 月、周、日视图都有&#xff0c;拖拽也比较方便&#xff0c;但是自己用起来比较费劲&#xff0c;参考文档写得不全&#xff0c;做个记录日后方便参考&…

考研408 | 【计算机网络】 数据链路层

导图&#xff1a; 数据链路层概念&#xff1a; 结点&#xff1a;主机、路由器 链路&#xff1a;网络中两个结点之间的物理通道&#xff0c;链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。 数据链路&#xff1a;网络中两个结点之间的逻辑通道&#xff0…

idea中提示Unsupported characters for the charset ‘ISO-8859-1‘

application.properties中文注释拉黄线 &#xff0c;提示Unsupported characters for the charset ISO-8859-1 解决办法&#xff1a; 注意&#xff1a; 改完之后之前输入的中文就变成“ &#xff1f;&#xff1f;&#xff1f;”了&#xff0c;建议备份一下 1、打开setti…

并发——什么是线程死锁?如何避免死锁?

文章目录 1. 认识线程死锁2. 如何避免线程死锁? 1. 认识线程死锁 线程死锁描述的是这样一种情况&#xff1a;多个线程同时被阻塞&#xff0c;它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞&#xff0c;因此程序不可能正常终止。 如下图所示&#xff…

软件验收测试包括几种类型?验收测试报告有什么好处?

在软件开发中&#xff0c;验收测试是软件项目在开发完成后进行的最后一项测试工作。它是确认软件是否满足预期要求&#xff0c;并准备将软件交付用户的核心环节&#xff0c;它可以确保软件的质量和功能符合用户的需求和期望。 一、软件验收测试的类型 软件验收测试可以分为多…

网络安全【黑客】面试题汇总

前言 一眨眼2023年已经过去一大半&#xff0c;不知道大家有没有找到心仪的工作。作为一个安全老鸟&#xff0c;工作这么多年&#xff0c;面试过很多人也出过很多面试题目&#xff0c;也在网上收集了各类关于渗透面试题目&#xff0c;里面有我对一些问题的见解&#xff0c;希望…

C++结构体部分显式构造导致编译异常分析

今天调试了一段代码如下 #include <iostream> #include <shared_mutex>#define SECT_NUM 2 #define DI_HIGH_PERM 2 #define DI_READ 1 #define DI_WRITE 2 #define FMT_BIN 1#define USER_PATH "d:\\fafiles\\dbtest\\"typedef unsigned long DW…

UE4 像素流 学习笔记

使用场景&#xff1a; 1、登录服务器&#xff0c;服务器上安装node.js Download | Node.js (nodejs.org) 点击该网址 点击Windows Installer 2、登录服务器&#xff0c;拷贝本地UE Pixel Streaming包到服务器 启用插件后重启该项目 3、登录服务器&#xff0c;修改\Sample\P…

MobXterm设置快捷键ctrl+v

问题&#xff1a; MobXterm是一个很好的ssh软件&#xff0c;粘贴按键反人性Shift Insert(Ins)&#xff0c;大部分人还是习惯CtrlV 原因&#xff1a;替换快捷键设置 CtrlV 方法&#xff1a;菜单setting->keybroad shotcuts->Paste in termainal