题目1:字符串比较
从键盘接收用户输入的两个字符串,第一个代表用户名,第二个代表密码。
(1)如果用户名是SwpuIot,并且密码是123456,则输出:Welcome
(2)如果用户名正确,密码不正确,输出:Mismatch
(3)其他情况下,输出:NotExist
要输出的信息,建议从题目中复制,确保精确匹配。
输入格式
SwpuIot 123456
输出格式
Welcome
代码展示
import java.util.Scanner;
public class demo15 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.next();
String id = scanner.next();
if (name.equals("SwpuIot")&&id.equals("123456")) {
System.out.println("Welcome");
} else if (name.equals("SwpuIot")&&!id.equals("123456")) {
System.out.println("Mismatch");
}else{
System.out.println("NotExist");
}
}
}
测试结果
题目2:单词替换
设计一个对字符串中的单词查找替换方法,实现对英文字符串中所有待替换单词的查找与替换。
输入格式:
首行输入母字符串,第二行输入查询的单词,第三行输入替换后的单词。
Although I am without you, I will always be ou you
ou
with
输出格式:
完成查找替换后的完整字符串
Although I am without you, I will always be with you
代码展示
import java.util.Scanner;
public class demo16 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String masterString =scanner.nextLine();
String word = scanner.next();
String replaceWord = scanner.next();
System.out.println(replaceWords(masterString, word, replaceWord));
scanner.close();
}
public static String replaceWords(String masterString, String word, String replaceWord) {
return masterString.replaceAll("\\b" + word + "\\b", replaceWord);
}
}
替换方法:定义一个replaceWords
静态方法,该方法使用了 String.replaceAll()
方法来替换字符串中的单词。这里使用了正则表达式 \\b
来确保只替换完整单词,而不是单词的一部分。
关于String类的正则表达式可以看这篇内容:
测试结果
题目3:身份证排序
- 输入n,然后连续输入n个身份证号。
- 然后根据输入的是sort1还是sort2,执行不同的功能。输入的不是sort1或sort2,则输出
exit
并退出。
输入sort1,将每个身份证的年月日抽取出来,按年-月-日格式组装,然后对组装后的年-月-日升序输出。
输入sort2,将所有身份证按照里面的年月日升序输出。
注意:处理输入的时候,全部使用Scanner
的nextLine()
方法,以免出错。
代码展示
package com.lwtstu5.practice02;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class BirthdateSorting {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入n:");
//读取用户输入的整数n,并使用nextInt()方法读取输入的整数值。
int n = Integer.parseInt(scanner.nextLine());
//创建了一个ArrayList,用于存储用户输入的身份证号码字符串。
ArrayList<String> idCards = new ArrayList<>();
for (int i = 0; i < n; i++) {
//读取用户输入的身份证号码,并将其添加到idCards列表中。
idCards.add(scanner.nextLine());
}
//System.out.println("请输入sort1或sort2:");
String sortType = scanner.nextLine();
if (sortType.equals("sort1")) {
sortByDate(idCards);
} else if (sortType.equals("sort2")) {
sortByIdCard(idCards);
} else {
System.out.println("exit");
}
}
public static void sortByDate(ArrayList<String> idCards) {
ArrayList<String> dates = new ArrayList<>();
for (String idCard : idCards) {
String date = idCard.substring(6, 14);
dates.add(date);
}
Collections.sort(dates);
for (String date : dates) {
System.out.println(date.substring(0, 4) + "-" + date.substring(4, 6) + "-" + date.substring(6));
}
}
public static void sortByIdCard(ArrayList<String> idCards) {
Collections.sort(idCards);
for (String idCard : idCards) {
System.out.println(idCard);
}
}
}
测试结果
题目4:通过键盘输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
统计一行字符串中的英文字母个数、空格个数、数字个数、其他字符个数
输入格式
通过键盘输入一行字符(任意字符)。
输出格式
统计一行字符串中的英文字母个数、空格个数、数字个数、其他字符个数。
代码展示
package com.lwtstu5.practice02;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String sb = scanner.nextLine();
int letter= 0;
int digit = 0;
int blackspace = 0;
int other = 0;
char ch = '0';
for (int i = 0; i < sb.length(); i++) {
ch = sb.charAt(i);
if (ch ==' ' ) {
blackspace+=1;
}else if(ch>=48&&ch<=57){
digit+=1;
}else if((ch>=65&&ch<=90)||(ch>=97&&ch<=122)){
letter+=1;
}else {
other+=1;
}
}
System.out.println("字母个数:"+letter+"\n"+"数字个数:"
+digit+"\n"+"空格个数:"+blackspace+"\n"+"其他字符个数:"+other);
}
}