import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class convert { /**
 * @param args
 */

public static String conn(String sr)
{
char[] c=sr.toCharArray();
int in =0;
for(int i=0;i<c.length;i++)
{
in=(int)c[in];
if(in<=90&&in>=65)
{
//c[in]
c[in]=(char)(in+32);
} else if(in<=122&&in>=97)
{
c[in]=(char)(in-32);
}

}return  String.valueOf(c);
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
InputStreamReader is=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(is); 
System.out.println("Welcome To Beijing");
 
String str = input.readLine();
String s = conn(str);
System.out.println(s);



}
}

解决方案 »

  1.   

    为什么不使用String类的toLowerCase和toUpperCase方法?
      

  2.   

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;public class Convert
    { /**
     * @param args
     */ public static String conn(String sr)
    {
    char[] c = sr.toCharArray();
    for (int i = 0; i < c.length; i++)
    {
    if (c[i] <= 90 && c[i]>= 65)
    {
    c[i] = (char) (c[i] + 32);
    } else if (c[i] <= 122 && c[i]>= 97)
    {
    c[i] = (char) (c[i] - 32);
    } }
    return String.valueOf(c);
    } public static void main(String[] args) throws IOException
    {
    // TODO Auto-generated method stub
    InputStreamReader is = new InputStreamReader(System.in);
    BufferedReader input = new BufferedReader(is);
    String str = input.readLine();
    String s = conn(str);
    System.out.println(s);

    }
    }
    这样就可以了
      

  3.   

    up,既然使用java就要发挥它的优势呀,有现成的方法为什么不用呢
      

  4.   

    toLowerCase和toUpperCase方法就可以办到啊,呵呵,是不是LZ就想练习一下算法,那么如果是的话,用你自己的算法和JDK算法比比看
      

  5.   

    import java.io.BufferedReader; 
    import java.io.IOException; 
    import java.io.InputStreamReader; 
    public class convert { /** 
    * @param args 
    */ public static String conn(String sr) 

    char[] c=sr.toCharArray(); 
    int in =0; 
    for(int i=0;i <c.length;i++) 

    in=(int)c[in]; //改为:in=(int)c[i];
    if(in <=90&&in>=65) 

    //c[in] 
    c[in]=(char)(in+32); //改为:c[i]=(char)(in+32);
    } else if(in <=122&&in>=97) 

    c[in]=(char)(in-32); //改为:c[i]=(char)(in-32);
    } }return  String.valueOf(c); 

    public static void main(String[] args) throws IOException { 
    // TODO Auto-generated method stub 
    InputStreamReader is=new InputStreamReader(System.in); 
    BufferedReader input=new BufferedReader(is); 
    System.out.println("Welcome To Beijing"); String str = input.readLine(); 
    String s = conn(str); 
    System.out.println(s); } 
      

  6.   

    LZ看下我这个吧:
    public static String StringChange(String s)
    {
    StringBuilder sb=new StringBuilder(s);
    String temp = null;
    for (int i = 0; i < s.length(); i++) 
    {
    if(Character.isLowerCase(s.charAt(i)))
    {
    temp=s.substring(i, i+1).toUpperCase();//把i这个位置小写的字母变成大写并放进temp
    sb.replace(i, i+1, temp);  //在字符串i这个位置替换temp
    }else if(Character.isUpperCase(s.charAt(i)))
    {
    temp=s.substring(i, i+1).toLowerCase();
    sb.replace(i, i+1, temp);
    }
    }
    return sb.toString();
    }
      

  7.   

    使用String类的toLowerCase和toUpperCase方法!
      

  8.   

    使用String类的toLowerCase和toUpperCase方法