Java——JAVAString案例(用户登录、遍历字符串、统计字符次数、拼接字符串、字符串反转)

简介: Java——JAVAString案例(用户登录、遍历字符串、统计字符次数、拼接字符串、字符串反转)!

1. 案例:用户登录

需求:

已知用户名和密码,请用程序实现模拟用户登录,总共有三次机会,登录之后,给出相应的提示

分析:

(1)已知用户名和密码,定义两个字符串表示即可

(2)键盘录入要登陆的用户名和密码,用Scanner实现

(3)拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用equals()实现

(4)用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环

完整代码:

packageString;
importjava.util.Scanner;
publicclassStringDemo2 {
publicstaticvoidmain(String[] args) {
Stringusername="abc";
Stringpassword="123";
for(inti=0; i<3; i++){
Scannersc=newScanner(System.in);
System.out.println("请输入用户名:");
Stringname=sc.nextLine();
System.out.println("请输入密码:");
Stringpsd=sc.nextLine();
if(name.equals(username) &&psd.equals(password)){
System.out.println("登陆成功");
            }else{
if((3-i)==0){
System.out.println("登录失败");
                }else{
System.out.println("你还有"+(3-i)+"次机会");
                }
            }
        }
    }
}


运行结果:

请输入用户名:abc请输入密码:www你还有3次机会请输入用户名:abc请输入密码:sed你还有2次机会请输入用户名:abc请输入密码:123登陆成功


2. 案例:遍历字符串

需求:

键盘录入一个字符串,使用程序实现在控制台遍历该字符串

分析:

(1)键盘录入一个字符串,用Scanner实现

(2)遍历字符串,首先能够获取到字符串中的每一个字符

在这里插入图片描述

(3)遍历字符串,首先能够获取到字符串中的长度

在这里插入图片描述

(4)遍历字符串的通用格式

在这里插入图片描述


完整代码:

packageString;
importjava.util.Scanner;
publicclassString3 {
publicstaticvoidmain(String[] args) {
Scannersc=newScanner(System.in);
System.out.println("请输入一个字符串:");
Stringline=sc.nextLine();
for(inti=0; iSystem.out.println(line.charAt(i));
        }
    }
}


运行结果:

请输入一个字符串:ergegegergegeg


3. 案例:统计字符次数

需求:

键盘录入一个字符串,统计该字符串中大写字母字符、小写字母字符、数字字符出现的次数(不考虑其他字符)

分析:

(1)键盘录入一个字符串,用Scanner实现

(2)要统计三种类型的字符个数,需定义三个统计变量,初始值都为0

(3)遍历字符串,得到每一个字符

(4)判断该字符属于哪种类型,然后对应类型的统计变量+1

假如ch是一个字符:

大写字母:ch>='A'&&ch<='Z'

小写字母:ch>='a' && ch<='z'

数字:ch>='0' && ch<='9'

(5)输出三种类型的字符个数

完整代码:

packageString;
importjava.util.Scanner;
publicclassString4 {
publicstaticvoidmain(String[] args) {
Scannersc=newScanner(System.in);
System.out.println("请输入字符串:");
Stringline=sc.nextLine();
intbigCount=0;
intsmallCount=0;
intnumberCount=0;
for(inti=0; icharch=line.charAt(i);
if (ch>='A'&&ch<='Z'){
bigCount++;
            }elseif(ch>='a'&&ch<='z'){
smallCount++;
            }elseif(ch>='0'&&ch<='9'){
numberCount++;
            }
        }
System.out.println("大写字母:"+bigCount);
System.out.println("小写字母:"+smallCount);
System.out.println("数字:"+numberCount);
    }
}


运行结果:

请输入字符串:789595knjjninIIN大写字母:3小写字母:7数字:6


4. 案例:拼接字符串

需求:

在这里插入图片描述

分析:

(1)定义一个int类型的数组,用静态初始化完成数组元素的初始化

(2)定义一个方法,用于把int数组中的数据按照指定格式拼接成一个字符串返回,返回值类型String,参数列表int[] arr

(3)在方法中遍历数组,按照要求进行拼接

(4)调用方法,用一个变量接受结果

(5)输出结果

完整代码:

packageString;
publicclassString5 {
publicstaticvoidmain(String[] args) {
int[] arr= {1,2,3};
Stringc=reverse(arr);
System.out.println(c);
    }
publicstaticStringreverse(int[] arr){
Strings="";
s+="[";
for (inti=0; iif(i==arr.length-1){
s+=arr[i];
            }else{
s+=arr[i];
s+=", ";
            }
        }
s+="]";
returns;
    }
}


运行结果:

[1, 2, 3]


5. 案例:字符串反转

需求:

定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果。

如:键盘录入abc,输出结果cba

分析:

(1)键盘录入一个字符串,用Scanner实现;

(2)定义一个方法,实现字符串反转,返回值类型String,参数String s;

(3)在方法中把字符串看成遍历,然后把每一个得到的字符拼接成一个字符串并返回;

(4)调用方法,用一个变量接受结果;

(5)输出结果

完整代码:

packageString;
importjava.util.Scanner;
publicclassString6 {
publicstaticvoidmain(String[] args) {
Scannersc=newScanner(System.in);
System.out.println("请输入一个字符串:");
Stringline=sc.nextLine();
Strings=reverse(line);
System.out.println(s);
    }
/*明确:返回值类型:String;参数:String s*/publicstaticStringreverse(Strings){
Stringss=" ";
for(inti=s.length()-1; i>=0; i--){
ss+=s.charAt(i);
        }
returnss;
    }
}


运行结果:

请输入一个字符串:abccba


相关文章
|
22天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
97 60
|
12天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
35 6
|
18天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
52 3
|
20天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
39 2
|
21天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
14 2
|
5月前
|
缓存 Java 测试技术
探讨Java中遍历Map集合的最快方式
探讨Java中遍历Map集合的最快方式
73 1
|
5月前
|
存储 缓存 Java
Java遍历Map集合的方法
在Java中,遍历Map集合主要有四种方式:1) 使用`keySet()`遍历keys并用`get()`获取values;2) 使用`entrySet()`直接遍历键值对,效率较高;3) 通过`Iterator`遍历,适合在遍历中删除元素;4) Java 8及以上版本可用`forEach`和Lambda表达式,简洁易读。`entrySet()`通常性能最佳,而遍历方式的选择应考虑代码可读性和数据量。
64 0
Java 遍历Map集合的各种姿势
最常用,在键值都需要时使用。 Map map = new HashMap(); for (Map.Entry entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } 在for-each循环中遍历keys或values。
700 0
Java使用增强for循环和迭代器遍历Map集合
1、通过key集合访问,对Key敢兴趣,可以访问与key对应的Value值;  for(String k:maps.keySet()){             System.
1053 0
|
12天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。