当前位置: 代码迷 >> Java相关 >> 我想实现个大小写转换
  详细解决方案

我想实现个大小写转换

热度:243   发布时间:2006-07-09 14:37:18.0
我想实现个大小写转换

import java.io.*;

public class displayfile
{
public static void main(String[] args) throws IOException
{
File file = new File("aaa.txt");
if(!file.exists())
{
file.createNewFile();
}
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
FileWriter fw = new FileWriter(file);
BufferedWriter out = new BufferedWriter(fw);
System.out.printf("退出请打quit \n");
System.out.printf("请输入跟路径:");

String str = in.readLine();

while(!(str.equals("quit")))
{
for (int i=0;i<str.length();i++)
{
char temp=str.charAt(i);
if(temp > 65 || temp <91)
{
temp=(char)(str.charAt(i)+26);
}
out.write(temp);
out.newLine();
}
str = in.readLine();

}
out.close();
fw.close();
in.close();
}
}

搜索更多相关的解决方案: file  new  大小写  public  java  

----------------解决方案--------------------------------------------------------
想就想咯
----------------解决方案--------------------------------------------------------
有什么问题么?
----------------解决方案--------------------------------------------------------
有的 不知道他们的AC码


打出来是乱码
----------------解决方案--------------------------------------------------------
按你这个算法应该是加32吧

----------------解决方案--------------------------------------------------------

加32后 打出来的都变成问号了


----------------解决方案--------------------------------------------------------
你这样打肯定是不行的
你写出的都是ascii码的格式
out.write(temp);
你看看这个方法写出的是什么?
你要把它转为一个String 再写出
----------------解决方案--------------------------------------------------------

import java.io.*;
import java.nio.charset.Charset;
public class exercise1 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double rn = 0;
double dn = 0;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try{
BufferedWriter fw = new BufferedWriter(new FileWriter("g:\\test.txt"));
while(true){
String line = in.readLine();
char[] ar = new char [line.length()];
if(line!=null&&line.equals("quit")){
break;
}
for(int i = 0;i<line.length();i++){
rn = line.charAt(i);
if(rn>='a' && rn<='z'){
dn = line.charAt(i)+13;
if(dn<='z')
ar[i] = (char)dn;
else
ar[i] = (char)('a'+dn-'z'-1);
System.out.print(ar[i]);
}
if(rn>='A' && rn<='Z'){
rn = line.charAt(i);
dn = line.charAt(i)+13;
if(dn<='Z')
ar[i] = (char)dn;
else
ar[i] = (char)('a'+dn-'z'-1);
System.out.print(ar[i]);
}
}
fw.write(line);
fw.newLine();
}
in.close();
fw.close();
}catch(Exception e){
e.printStackTrace();
}
}

}
我也做过差不多的题.我是所有的字母往后加13.但方法是一样的.


----------------解决方案--------------------------------------------------------
青鸟的?楼上的
----------------解决方案--------------------------------------------------------
我们今天刚留加13这个题目,上午弄了半天不会,谢谢了。

----------------解决方案--------------------------------------------------------
  相关解决方案