【Java】基础练习(十一)

1.Poker

定义两个数组,一个数组存储扑克牌花色,另一个数组存储扑克牌(A~K),输出52张扑克牌(除大小王)

♥A、♥2...

(1)Poker类:

package swp.kaifamiao.codes.Java.d0824;
/*
定义两个数组,一个数组存储扑克牌花色,另一个数组存储扑克牌(A~K),输出52张扑克牌(除大小王)*/
/*** {class description}** @author SWP* @version 1.0.0*/
public class Poker {public static void main(String[] args) {String[] arr1 = {"♥️","♦️","♠️","♣️"};String[] arr2 = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};for (int i = 0; i < arr1.length; i++) {for (int j = 0; j < arr2.length; j++) {System.out.printf(arr1[i] + arr2[j] + "\t");}System.out.println();}}
}

(2)运行效果:

在这里插入图片描述


2. 有效括号

给定一个只包括 ‘(’,‘)’ 的字符串,判断字符串是否有效。

     有效字符串需满足:

  • 左括号必须用相同类型的右括号闭合。​ 左括号必须以正确的顺序闭合。
  • 注意空字符串可被认为是有效字符串。

示例1:

输入: "()"
输出: true

示例2:

输入: "()()()"
输出: true

示例3:

输入: "((()))"
输出: true

示例4:

输入: "(()())"
输出: true​

示例5:

输入: "((((((()))"  ")()("
输出: false

(1)Brackets类(isJudge方法):

package swp.kaifamiao.codes.Java.d0824;import java.util.Scanner;/*** {class description}** @author SWP* @version 1.0.0*/
public class Brackets {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.printf("请输入只包括“(“与“)”的字符串:");String str = input.next();String result = isJudge(str);System.out.println(result);}public static String isJudge(String str){int count = 0;for (int i = 0; i < str.length(); i++) {char ch = str.charAt(i);if (ch == '('){count++;} else if (ch == ')'){count--;}if (count < 0){return "无效的字符串!";}}return count == 0 ? "有效的字符串!" : "无效的字符串!";}
}

(2)运行结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3. 最长子串(优化版):

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。

输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

(1)MaxSubstring类:

package swp.kaifamiao.codes.Java.d0824;import java.util.Scanner;/*** {class description}** @author SWP* @version 1.0.0*/
public class MaxSubstring {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入一个字符串:");String str = input.next();String sub = subString(str);int result = sub.length();System.out.println("最长子串是:" + sub);System.out.println("最长子串的长度是:" + result);}/*** 给定一个字符串,请你找出其中不含有重复字符的 **最长子串** 的长度。* @param str* @return*/public static String subString(String str){// 存储最长子串String max = "";// 子串的起始下标int start = 0;for (int end = start + 1; end < str.length(); end++) {// 子串的范围String sub = str.substring(start, end);// 当前位置的字符String current = str.substring(end, end + 1);// 当前位置的字符是否在子串中存在if (sub.indexOf(current) != -1){// 当前子串和目前最大子串谁大if (sub.length() > max.length()) {max = sub;}// 找下一个子串的开始坐标start = str.indexOf(current, start) + 1;// 最长子串比剩下的长度还长if (max.length() > str.length() - start - 1){break;}}}return max;}
}

(2)运行效果:

在这里插入图片描述


4.最长公共前缀

       编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。

示例1:

输入:strs = ["flower","flow","flight"]
输出:"fl"

示例2:

输入:strs = ["dog","racecar","car"]
输出:""
解释:输入不存在公共前缀。

(1) Prefix类(commonPrefix方法):

package swp.kaifamiao.codes.Java.d0824;import swp.kaifamiao.codes.Java.d0817.Main;import java.util.PrimitiveIterator;
import java.util.Scanner;/*** {class description}** @author SWP* @version 1.0.0*/
public class Prefix {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入第一个字符串单词:");String str1 = input.next();System.out.print("请输入第二个字符串单词:");String str2 = input.next();System.out.print("请输入第三个字符串单词:");String str3 = input.next();String[] arr = {str1,str2,str3};String prefix = commonPrefix(arr);System.out.println("最长公共前缀是:" + prefix);}public static String commonPrefix(String[] arr){if (arr == null || arr.length == 0){return "";}//将第一个字符串作为初始的公共前缀String prefix = arr[0];for (int i = 0; i < arr.length; i++) {String current = arr[i];// 从头开始比较当前字符串和公共前缀,更新公共前缀直到找到最长公共前缀或者遍历完所有字符串int j = 0;while (j < prefix.length() && j < current.length() && prefix.charAt(j) == current.charAt(j)){j++;}//更新公共前缀prefix = prefix.substring(0,j);if (prefix.isEmpty()){break;}}return prefix;}
}

(2)运行效果:

在这里插入图片描述
在这里插入图片描述


5.Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例1:

输入:columnNumber = 1
输出:"A"

示例2:

输入:columnNumber = 28
输出:"AB"

示例3:

输入:columnNumber = 701
输出:"ZY"

示例4:

输入:columnNumber = 2147483647
输出:"FXSHRXW"

(1)Excel类:

package swp.kaifamiao.codes.Java.d0824;
//给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。import swp.kaifamiao.codes.Java.d0817.Main;import java.util.Scanner;/*** {class description}** @author SWP* @version 1.0.0*/
public class Excel {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入整数:");int columnNumber = input.nextInt();String str = numberColumn(columnNumber);System.out.println(str);}public static String numberColumn(int columnNumber){StringBuilder sb = new StringBuilder();// 生成大写字母的字符集合String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";// 当输入的整数小于26时if (columnNumber <= 26 && columnNumber > 0){char ch = characters.charAt(columnNumber-1);sb.append(ch);}else {//当输入的整数大于26时while (columnNumber >0) {int remainder = ((columnNumber % 26) - 1) ;char ch = characters.charAt(remainder);sb.insert(0, ch);columnNumber = columnNumber / 26;}}return sb.toString();}
}

(2)运行效果:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图为科技-边缘计算在智慧医疗领域的作用

边缘计算在智慧医疗领域的作用 随着科技的进步&#xff0c;智慧医疗已成为医疗行业的重要发展趋势。边缘计算作为新兴技术&#xff0c;在智慧医疗领域发挥着越来越重要的作用。本文将介绍边缘计算在智慧医疗领域的应用及其优势&#xff0c;并探讨未来发展方向。 一、边缘计算…

十、pikachu之php反序列化

文章目录 1、php反序列化概述2、实战3、关于Magic function4、__wakeup()和destruct() 1、php反序列化概述 在理解这个漏洞前&#xff0c;首先搞清楚php中serialize()&#xff0c;unserialize()这两个函数。 &#xff08;1&#xff09;序列化serialize()&#xff1a;就是把一个…

python自动化入门之Python编写脚本实现自动化爬虫详解

想知道如何使用Python轻松高效地获取网络上的信息&#xff1f; 本篇文章将探索Python自动化爬虫&#xff0c;并展示如何编写实用的脚本。 1. 什么是Python爬虫&#xff1f; 爬虫顾名思义&#xff0c;就是像蜘蛛一样在网络上爬行&#xff0c;抓取各种有用信息的一种程序。而Pyt…

上半年营收19亿,金融壹账通第二增长曲线“加速上坡”

8月16日&#xff0c;壹账通金融科技有限公司&#xff08;下称“金融壹账通”&#xff09;发布了截至2023年6月30日中期业绩报告。 根据财报&#xff0c;2023年上半年&#xff0c;金融壹账通实现营收18.99亿元&#xff0c;毛利润为6.96亿元&#xff1b;归母净利润率从-26.1%提升…

【前端】深入解析CSS:选择器、显示模式、背景属性和特征剖析

目录 一、前言二、CSS的复合选择器1、后代选择器①、语法②、注意事项 2、子选择器①、语法②、注意事项 3、并集选择器①、语法②、注意事项 4、链接伪类选择器①、语法②、注意事项 三、CSS元素显示模式转换1、转换为块元素display:block2、转换为行内元素display:inline3、转…

synchronized锁升级

在 Java SE 1.6中&#xff0c; 锁 一共有 4 种状 态 &#xff0c; 级别 从低到高依次是&#xff1a;无 锁 状 态 、偏向 锁 状 态 、 轻 量 级锁 状 态和重量 级锁 状 态 &#xff0c; 这 几个状 态 会随着 竞 争情况逐 渐 升 级 。 锁 可以升 级 但不能降 级 &#xff0c;意味…

c语言函数指针和指针函数的区别,以及回调函数的使用。

函数指针是什么&#xff0c;函数指针本质也是指针&#xff0c;不过是指向函数的指针&#xff0c;存储的是函数的地址。 指针函数是什么,指针函数其实就是返回值是指针的函数&#xff0c;本质是函数。 函数指针是如何定义的呢&#xff0c;如下 void (*pfun)(int a,int b) 这…

【快速傅里叶变换(fft)和逆快速傅里叶变换】生成雷达接收到的经过多普勒频移的脉冲雷达信号(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

数学——七桥问题——图论

当涉及数学&#xff0c;有很多不同的话题可以讨论。你是否有特定的数学领域、概念或问题想要了解更多&#xff1f;以下是一些常见的数学领域和主题&#xff0c;你可以选择一个或者告诉我你感兴趣的具体内容&#xff0c;我将很乐意为你提供更多信息&#xff1a; 代数学&#xff…

CPU、MCU、MPU、SOC、SOCPC、概念解释之在嵌入式领域常听到的名词含义

CPU、MCU、MPU、SOC等几个在嵌入式领域学习过程中会涉及到的几个名词。我们来学习一下&#xff0c;资料从网上搜集的&#xff0c;有错的地方可以指出。。。 CPU、MCU、MPU、SOC、SOCPC、 1. CPU2. MPU3.MCUMPU和MCU的区别&#xff1a;4.SOC5. SoPC 1. CPU CPU&#xff0c;即中…

[管理与领导-44]:IT基层管理者 - 个人管理 - 从掌握管理知识开始入门:管理的常识和基础

目录 前言&#xff1a;管理框架 一、什么是管理 1.1 以终为始 1.2、资源的优化配置&#xff08;人财物、权力、时间等资源&#xff09; 1.2.1 资源的优化配置的步骤 1.2.2 管理者拥有的资源 1.2.3 管理者的权力资源 1.3 分而治之 1.3.1 分目标&#xff1a;细化和分解目…

手机盖板IR油墨透光率检测仪T03

手机盖板作为手机最外层玻璃面板&#xff0c;其加工一般有落料、倒边、抛光、镀膜、丝印等多道加工工序组成&#xff0c;其中任何一个工序出现差错&#xff0c;都有可能导致手机盖板产生缺陷&#xff0c;例如漏油、透光、IR孔不良、视窗划伤、油墨区划伤、內污、边花等&#xf…