分析以下需求,并用代码实现:
(1)从键盘循环录入录入一个字符串,输入"end"表示结束
(2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数
举例:
键盘录入:Hello12345World
输出结果:hELLO*wORLD
代码可以拷贝直接使用 !
import java.util.Scanner;
import javax.sound.sampled.Line;
public class ScannerDemo {
public static void main(String[] args) {
String scanner = scanner();
char[] upperAndLower = UpperAndLower(scanner);
System.out.println("转换后的结果为:");
System.out.println(upperAndLower);
}
//大小写转换
public static char[] UpperAndLower(String str) {
char[] charArray = str.toCharArray();
//判断字母个数
int num = 0;
for(int i = 0; i <=charArray.length - 1; i++) {
if(charArray[i] >=65 && charArray[i]<= 90) {
charArray[i] +=32;
num++;
}else if(charArray[i]>=97 && charArray[i]<=122){
charArray[i]-=32;
num++;
}else {
charArray[i] = '*';
}
}
System.out.println("字母个数为:"+ num);
return charArray;
}
//循环输入
public static String scanner() {
Scanner scanner = new Scanner(System.in);
String appen ="";
int num =0;
for(;;) {
System.out.println("请输入第"+(++num)+"串字符(end为结束字符):");
String line = scanner.nextLine();
if(!compare(line)) {
break;
}else {
appen += line;
}
}
return appen;
}
//判断是否是与end相等
public static boolean compare(String str) {
if(str.equals("end")) {
return false;
}
return true;
}
}
感觉对您有帮助的话,给个赞支持一下。谢谢。