(1)从键盘循环录入录入一个字符串,输入"end"表示结束
(2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数
举例:
键盘录入:Hello12345World
输出结果:hELLO*****wORLD
总共10个字母
代码:
import java.util.Scanner;
public class Demo07 {
public static void main(String[] args) {
System.out.println("请输入一个任意字符,以end结束:");
String s1 = stringScanner();
toUpperLowerCase(s1);
}
/*
* 键盘输入,知道出现end结束输入
*/
public static String stringScanner() {
String string ="";
while(true) {
Scanner sc = new Scanner(System.in);
string += sc.nextLine();
//判断输入的字符串是否以end结尾
if(string.endsWith("end")) {
//截取字符串,去掉end
string = string.substring(0, string.length()-3);
break;
}
}
return string;
}
/*
* 大小写字母互相转换方法,并统计字母个数
*/
public static void toUpperLowerCase(String oldStr) {
//将字符串转换为字符数组
char[] ch = oldStr.toCharArray();
//统计输入的字母个数
int count = 0;
for (int i = 0; i < ch.length; i++) {
//如果为大写,重新赋值为小写
if(ch[i] >= 65 && ch[i] <= 90) {
ch[i] += 32;
count++;
}
//如果为小写,重新赋值为大写
else if(ch[i] >= 97 && ch[i] <= 122) {
ch[i] -= 32;
count++;
}
//其他字符赋值为*
else {
ch[i] = '*';
}
}
String newStr = String.valueOf(ch);
System.out.println("输出结果:"+newStr);
System.out.println("总共"+count+"个字母");
}
}