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


相关文章
|
7月前
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
705 0
|
9月前
|
存储 监控 Java
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
211 23
|
9月前
|
存储 传感器 缓存
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
320 15
|
11月前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
292 17
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
4412 113
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
388 3
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
209 1
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
126 6
|
域名解析 分布式计算 网络协议
java遍历hdfs路径信息,报错EOFException
java遍历hdfs路径信息,报错EOFException
168 3
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
193 1