好的,我只是一个编程爱好者,所以对我来说很简单。因此,我编写了经典的切换案例程序,但没有使用.toUpperCase()或.toLowerCase()函数,而是使用字符的ASCII值。我设法将大写字母转换为低字节,但似乎不能做到相反。尝试使用ASCII值切换案例
软件包切换;
import java.util.Scanner;
public class Toggle {
String str;
Scanner sc=new Scanner(System.in);
public void toggleStr()
{
System.out.println("Enter a string");
str=sc.nextLine();
char c;
int res;
char ch[]=str.toCharArray();
for(int i=0;i<ch.length;i++)
{
res=(int)(ch[i]);
if((res>=65)||(res<=90))
{
c=(char)(res+32);
System.out.print(c);
}
else if((res>=97)||(res<=122))
{
c=(char)(res-32);
System.out.print(c);
}
else
System.out.print(ch[i]);
}
}
public static void main(String[] args)
{
Toggle t=new Toggle();
t.toggleStr();
}
}
'如果((RES> = 65)||(RES <= 90))'所以如果res == 1这是真的吗?不要以为这就是你想要的。 – csmckelvey 2014-09-03 16:03:01
如果您使用char文字而不是int文字(例如,'A'而不是65等等),这看起来会更好。 – 2014-09-03 16:50:21
另外,FWIW,我们不再使用ASCII码:Java是严格的Unicode。 'A' - 'Z'和'a' - 'z'的Unicode代码点的值碰巧与旧的ASCII编码具有相同的数值,但是当您想将'å'转换为大写时会发生什么?是的,TY。 – 2014-09-03 16:54:54