java问题:比较两个text,在eclipse里运行正常,为什么用命令控制符运行,输出时字符不同处会变成数字? 20
packageTest_Beat_Test;importjava.io.FileReader;importjava.io.IOException;publicclassT...
package Test_Beat_Test;
import java.io.FileReader;
import java.io.IOException;
public class Test_Beat_Test {
public static void main(String[] args) throws IOException {
FileReader texta = new FileReader("C:\\Users\\Administrator\\Desktop\\a.txt");
FileReader textb = new FileReader("C:\\Users\\Administrator\\Desktop\\b.txt");
int a = texta.read();
int b = textb.read();
while(a != -1 & b != -1) {
if(a == b) {
System.out.print((char)a);
}else {
System.out.print(" " + (char)a + (char)b + " ");
}
a = texta.read();
b = textb.read();
}
texta.close();
textb.close();
}
} 展开
import java.io.FileReader;
import java.io.IOException;
public class Test_Beat_Test {
public static void main(String[] args) throws IOException {
FileReader texta = new FileReader("C:\\Users\\Administrator\\Desktop\\a.txt");
FileReader textb = new FileReader("C:\\Users\\Administrator\\Desktop\\b.txt");
int a = texta.read();
int b = textb.read();
while(a != -1 & b != -1) {
if(a == b) {
System.out.print((char)a);
}else {
System.out.print(" " + (char)a + (char)b + " ");
}
a = texta.read();
b = textb.read();
}
texta.close();
textb.close();
}
} 展开
展开全部
你现在代码这样写,输出的不会是数字,而应该是字符。
a和b是读取的一个字符,已int型来表示,直接输出当然是数字了,并且会输出和:
System.out.print(a + b);
如果转换成char,你再进行+运算,java会认为你又想求和,所以会自动转换为int求和,输出数字和:
System.out.print((char)a + (char)b );
要想输出啷个字符,你程序中那样写就可以,也可以这样:
System.out.print( (char)a +""+ (char)b );
(char)a +""会被认为一个字符和一个字符串连接,结果是字符串,再+ (char)b又是连接。
追问
我写的是 System.out.print(" " + (char)a + (char)b + " ");
你写的是System.out.print( (char)a +""+ (char)b );
两条语句效果应该是一样的吧。但上面这个在命令控制符里会输出错误,输出了数字。在eclipse里是输出正确的,空格加字母;
为啥一个错误,一个正确?
追加提问:百度知道里,怎么让代码有格式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询