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


相关文章
|
9月前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
603 108
|
11月前
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
935 82
|
12月前
|
缓存 算法 NoSQL
校招 Java 面试高频常见知识点深度解析与实战案例详细分享
《2025校招Java面试核心指南》总结了Java技术栈的最新考点,涵盖基础语法、并发编程和云原生技术三大维度: 现代Java特性:重点解析Java 17密封类、Record类型及响应式Stream API,通过电商案例演示函数式数据处理 并发革命:对比传统线程池与Java 21虚拟线程,详解Reactor模式在秒杀系统中的应用及背压机制 云原生实践:提供Spring Boot容器化部署方案,分析Spring WebFlux响应式编程和Redis Cluster缓存策略。
362 0
|
12月前
|
人工智能 Java API
Java 生态大模型应用开发全流程实战案例与技术路径终极对决
在Java生态中开发大模型应用,Spring AI、LangChain4j和JBoltAI是三大主流框架。本文从架构设计、核心功能、开发体验、性能扩展性、生态社区等维度对比三者特点,并结合实例分析选型建议。Spring AI适合已有Spring技术栈团队,LangChain4j灵活性强适用于学术研究,JBoltAI提供开箱即用的企业级解决方案,助力传统系统快速AI化改造。开发者可根据业务场景和技术背景选择最适合的框架。
2682 2
|
11月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
414 0
|
11月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
976 0
|
存储 XML 缓存
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
346 0
|
安全 Java API
【Java字符串操作秘籍】StringBuffer与StringBuilder的终极对决!
【8月更文挑战第25天】在Java中处理字符串时,经常需要修改字符串,但由于`String`对象的不可变性,频繁修改会导致内存浪费和性能下降。为此,Java提供了`StringBuffer`和`StringBuilder`两个类来操作可变字符串序列。`StringBuffer`是线程安全的,适用于多线程环境,但性能略低;`StringBuilder`非线程安全,但在单线程环境中性能更优。两者基本用法相似,通过`append`等方法构建和修改字符串。
392 1
|
API C# 开发者
WPF图形绘制大师指南:GDI+与Direct2D完美融合,带你玩转高性能图形处理秘籍!
【8月更文挑战第31天】GDI+与Direct2D的结合为WPF图形绘制提供了强大的工具集。通过合理地使用这两种技术,开发者可以创造出性能优异且视觉效果丰富的WPF应用程序。在实际应用中,开发者应根据项目需求和技术背景,权衡利弊,选择最合适的技术方案。
1293 1