要求是:使用JOptionPane.showInputDialog输入字符串,使用toLowerCase()方法将其中的大写英文字母改为小写字母,使用toUpperCase()方法将小写字母改为大写字母。定义StringBuffer对象,调用append()方法依次添加遍历的字符,最后用toString()方法将得到的结果输出。
我查阅了相关资料,但只找到了将字母全部转换为大写或者小写,但需求是将string中的大写字母变小写,小写字母变大写。如AbcD变aBCd,我尝试了用if,ifelse循环,用ascll的数值判断,但题目要求用toLowerCase(),toUpperCase()...而不是用改变不ascll数值..所以还是没有思路,希望有大佬能指点下。
分割成一个个,判断是大写还是小写,然后再调用toLowerCase()或toUpperCase()
根据要求,写了一份实现;如果满足要求,还望采纳,谢谢;
public static void main(String[] args) {
String showInputDialog = JOptionPane.showInputDialog("请输入要转换的字符串:");
char[] charArray = showInputDialog.toCharArray();
StringBuffer sb = new StringBuffer();
for (char c : charArray) {
String str = "";
if(Character.isUpperCase(c)) {//是否大写
str = String.valueOf(c).toLowerCase();
}else {
str = String.valueOf(c).toUpperCase();
}
sb.append(str);
}
//打印到控制台
System.err.println(sb.toString());
//输出结果
JOptionPane.showMessageDialog(null, sb.toString(), "转换结果为:",JOptionPane.PLAIN_MESSAGE);
}