概述
需求:
/** * 1.程序运行后通过键盘录入一个字符串。要求字符串中必须包含:大写字母 * 2.如果录入的字符串中没有大写字母、要进行给出提示。然后程序可以继续录入字符串 * 3.如果录入的字符串中有大写字母。那么统计这个字符串中小写字母、大写字母、数字、其他字符出现的个数。程序结束 * 思路分析: * 1.创建键盘输入,接收用户数据 * 2.创建一个test方法, 功能: 能够识别用户数据是否满足要求,能给出相应提示语句 * 3.调用test方法,给用户反馈 * 4.用死循环包裹1和2的逻辑代码,若用户输入错误则循环输入,若满足要求,则break * 5.创建一个info方法, 功能: 能够统计用户输入的合法数据中,小写字母、大写字母、数字、其他字符出现的个数,打印出统计结果 * 6.在test方法,判断用户数据合法后,调用info方法, */代码实现:
public class Demo1 { public static void main(String[] args) { //1.创建键盘输入,接收用户数据 Scanner sc = new Scanner(System.in); //4.用死循环包裹1和2的逻辑代码,若用户输入错误则循环输入,若满足要求,则break lo:while (true){ //提示 System.out.println("需要包含大写字母"); System.out.print("请输入: "); String str = sc.nextLine(); //调用test方法,将用户数据传入,实现对数据的判断,使用t接收返回值 boolean t = test(str); //根据t判断用户输入的数据是否合法 if (t){ //若合法,终止循环 break lo; } } } //2.创建一个test方法, 功能: 能够识别用户数据是否满足要求,能给出相应提示语句 参数: 用户数据str public static boolean test(String str) { //先定义一个变量flag,来接收用户数据是否合法的结果,同时假设结果为false boolean flag = false; //遍历字符串,拿出字符串中每个元素 for (int i = 0; i < str.length(); i++) { //将元素赋值给遍历c char c = str.charAt(i); //判断元素c是否在大写字母的范围内 if (c >= 'A' && c <= 'Z') { //在范围内,说明含有大写字符,true flag = true; } } //用if语句判断结果 if (flag){ //若结果为true,说明数据合法,调用info方法,对数据进行统计 info(str); } else { //若不在范围内,说明不含有大写字符,数据不合法,给出提示 System.out.println("数据输入不合法! 请重新输入"); } //使用return将flag的值带回,用于在main方法中判断是否要中断循环 return flag; } //5.创建一个info方法, 功能: 能够统计用户输入的合法数据中,小写字母、大写字母、数字、其他字符出现的个数,打5印出统计结果 public static void info(String str) { //定义4个计数器,分别为四类字符进行计数 int small = 0; int big = 0; int num = 0; int el = 0; //遍历字符串,取出所有元素,准备进行比对 for (int i = 0; i < str.length(); i++) { //将取得的元素用c接收 char c = str.charAt(i); //根据c来判断该字符是属于哪个类型 if (c >= '0' && c <= '9'){ //若是数字范围内,让数字计数器进行计数 num++; }else if (c >= 'a' && c <= 'z'){ //若是小写字母范围内,让小写字母计数器进行计数 small++; }else if (c >= 'A' && c <= 'Z'){ //若是大写字母范围内,让大写字母计数器进行计数 big++; }//上面三个条件都不满足时,说明此字符串是其他类型 else{ //让其他计数器计数 el++; } } //for循环结束后,完成对字符串的筛选统计,输出统计结果 System.out.println("大写字母有"+big+"个"); System.out.println("小写字母有"+small+"个"); System.out.println("数字有"+num+"个"); System.out.println("其他字符有"+el+"个"); } }
需求:
/** * 用户输入一个字符串,筛选出其中的数字和字母并按照数字在前字母在后的规则 * 组成一个新的字符串,把组成的新字符串打印在控制台。 */代码实现:
public class Demo2 { public static void main(String[] args) { //键盘输入 Scanner sc = new Scanner(System.in); System.out.println("输入:"); //接收 String str = sc.nextLine(); System.out.println("您输入的字符串是: " + str); //调用sort方法,将字符串进行排序,参数: 字符串 String s = sort(str); System.out.println("将字符串排序后: "+s); } //创建sort方法, 功能: 将字符串进行排序 private static String sort(String str) { //创建4个StringBuild对象,用来储存小写字母类型字符,大写字母类型字符,数字类型字符,其他类型字符 String big = new String(); String samli = new String(); String num = new String(); String el = new String(); //遍历字符串,取出每个元素 for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); //判断字符在哪一种类型范围内 if (c >= 'A' && c <= 'Z') { //若是大写字母,拼接进big对象 big+=c; } else if (c >= 'a' && c <= 'z') { //若是小写字母,拼接进samli对象 samli+=c; } else if (c >= '0' && c <= '9') { //若是数字,拼接进num对象 num+=c; }else { //若不是这些类型,那就是其他类型,拼接进el对象 el+=c; } } //for循环结束后,会将字符串的每个字符分类完毕, //将四种类型进行拼接输出 return (num+big+samli+el); } }
需求:
/** * 生成随机的小写字母为验证码 */代码实现:
public class Demo8 { public static void main(String[] args){ String code = getCode(); System.out.println("验证码为: "+ code); } //创建5个随机数验证码 public static String getCode() { //创建一个StringBuilder对象,用来拼接有效的字符 StringBuilder sb = new StringBuilder(); Random r = new Random(); //创建一个for循环,让随机数,随机5次 for (int i = 1; i <= 5; i++) { //产生随机数,用sjCode来接收 int sjCode = r.nextInt(122-97+1)+97; //生成随机数后,用append方法将5个随机数拼接,同时将int类型的随机数强转成char类型,就变成了字母 sb.append((char) sjCode); } //在循环结束后,将sb的值转换为String类型返回 return sb.toString(); } short s= 3; }
需求:
/** * 用户名为"admin" * 密码为"123456" * 设置用户登录页面 * 若用户输入错误3次,则退出程序 */代码实现:
public class Demo1 { public static void main(String[] args) { //定义用户数据变量 String userName = "admin"; String password = "123456"; //键盘输入 Scanner sc = new Scanner(System.in); for (int i = 1; i < 4; i++) { System.out.println("请输入您的用户名: "); String s = sc.nextLine(); System.out.println("请输入您的密码: "); String p = sc.nextLine(); if (s.equals(userName) && p.equals(password)){ System.out.println("登录成功"); break; }else if (i == 3){ System.out.println("今日登录错误次数已达上限"); }else { System.out.println("登录失败,密码或用户名输入错误,您还剩"+(3-i)+"次登录机会"); } } } }
需求:
/* 定义一个方法能打印出任意行任意列的矩形 用*打印矩形 键盘录入几行几列 例如: 当用户希望打印3行5列打印出效果如下: ***** ***** ***** 当用户希望打印4行8列打印出效果如下: ******** ******** ******** ******** 提示: 可以使用双重for循环 需求分析: 1.创建键盘输入,取出行变量,列变量 2.定义一个方法,形参为 行变量,列变量,因为是打印,所以无返回值 3.因为是循环打印,而且不知道循环多少次,用while循环 4.将while循环中的 */代码实现:
public class Demo3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //1.创建键盘输入,取出行变量,列变量 System.out.println("请输入想要多少行: "); int hang = sc.nextInt(); System.out.println("请输入想要多少列: "); int lie = sc.nextInt(); //调用方法进行打印 num(hang, lie); } //2.定义一个方法,形参为 行变量,列变量,因为是打印,所以无返回值 public static void num(int hang, int lie) { //定义一个循环,代表要循环打印多少行 for (int h = 1; h <= hang; h++) { //循环打印列数 for (int l = 1; l <= lie; l++) { System.out.print("*"); } //一列打印完毕后进行换行 System.out.println(); } } }
需求:
/* 需求: 创建长度为5的数组,键盘录入数组数据,创建一个方法 让数组最大元素与数组最小元素交换,最后返回整理好的数组。 思路分析: 1. 创建长度为5的数组 2. 使用循环进行5此键盘录入,录入数组的元素 3. 使用循环,输出原数组元素 4. 调用方法,完成数组最大元素和最小元素交换 5. 输出改变后的数组元素 */代码实现:
public class Demo7 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //1. 创建长度为5的数组 int[] arr =new int[5]; //2. 使用循环进行5此键盘录入,录入数组的元素 for (int i = 0; i < arr.length; i++) { System.out.print("请输入数组中的第"+(i+1)+"个数的值: "); arr[i]=sc.nextInt(); } System.out.println("您输入的数组为:"); //遍历数组打印出用户录入的数组 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); //如果打印到最后一个数,则进行换行 if (i == arr.length-1){ System.out.println(); } } //调用方法 newArr(arr); System.out.println("调用方法改变后的数组为: "); //遍历数组,打印出更换后的新数组 for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } //定义一个方法,用于完成数组最大元素和最小元素交换 public static void newArr(int[] arr) { //用变量储存数组中的最小值 int min = arr[0]; //定义变量来储存数组中最小值的索引 int minIndex = 0; //用变量储存数组中的最大值 int max = arr[0]; //定义变量来储存数组中最大值的索引 int maxIndex = 0; //遍历数组 for (int i = 1; i < arr.length; i++) { //if语句判断最小值 if (min > arr[i] ) { //将最小值赋值给min min = arr[i]; //将最小值的索引赋值给minIndex minIndex = i ; }else if (max < arr[i]){ //将最大值赋值给max max = arr[i]; //将最大的索引赋值给maxIndex maxIndex = i ; } }//根据最大值的索引,和最小值的索引,将最大与最小值调换 arr[maxIndex] = min; arr[minIndex] = max; } }
最后
以上就是直率萝莉为你收集整理的javaSE的一些练习代码题的全部内容,希望文章能够帮你解决javaSE的一些练习代码题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复