Java将字符串的小写改为大写,其它不变的问题

package filter;

import java.util.Scanner;
public class Main {
public static void main(String[] args) throws ClassNotFoundException {
Class clazz1 = Class.forName("filter.Filter"); Class clazz2 = Class.forName("filter.LowercaseFilter");
System.out.println(clazz1.isInterface()+" "+clazz1.isAssignableFrom(clazz2));
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
LowercaseFilter filter = new LowercaseFilter(input);
System.out.println("原文是:"+filter.getValue());
filter.doFilter();
System.out.println("过滤处理后:"+filter.getValue());
}
}
package filter;

public interface Filter {
public void doFilter();
}
package filter;

class LowercaseFilter implements Filter{
private String value;
public void setValue(String value){
this.value = value;
}
public String getValue(){
return value;
}
public LowercaseFilter(String input){
setValue(input);
}
public void doFilter(){
char[] c =value.toCharArray();
for(int i = 0;i
if('a'<=c[i]&&c[i]>='z'){
c[i]=(char)(c[i]-32);
}
}
String str = new String(c);
setValue(str);
}
}
见上代码,为什么输出结果与输入结果相同,没有转化,在不改变主函数和接口的情况下如何修改,谢谢

条件写错了

if('a'<=c[i]&&c[i]>='z')
改为:
if('a'<=c[i]&&c[i]<='z')
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632