s********e 发帖数: 340 | 1 贡献一个Java 程序 面试题,看不懂为啥。请指教!
经运行,输出结果为 8 3 4
而且,我发现如果我修改了byte arr[] = new byte[]{8,3,4,5}; 的数组值,输入也修
改,
总是arr数组值是一致的。高人能给解释一下这个程序是为什么吗?谢谢!
import java.util.Collection;
import java.util.Set;
public class MyClass {
public static void main(String[] args){
byte arr[] = new byte[]{8,3,4,5};
for(final int i: getCharArray(arr))
System.out.print(i +" ");
}
static char[] getCharArray(byte[] arr){
char[] carr = new char[4];
int i=0;
for(byte c:arr){
carr[i] = (char)c++;
i++;
}
return carr;
}
} |
h******2 发帖数: 24 | 2 不是高人,请勿喷。
我把你的程序复制粘贴运行了一下,结果是8 3 4 5啊, 而且把输入改了,输入还是和
输出一样呀。请问这个问题是什么呢?谢谢 |
c******3 发帖数: 296 | |
s********e 发帖数: 340 | 4 还是请你进一步指教!能否说的详细一下?谢谢!:)
【在 c******3 的大作中提到】 : c++ vs. ++c
|
s********e 发帖数: 340 | 5 谢谢,我昨天少写了一个输出数字,已更正。
问题是,这个程序为什么输入和输出都一样。
【在 h******2 的大作中提到】 : 不是高人,请勿喷。 : 我把你的程序复制粘贴运行了一下,结果是8 3 4 5啊, 而且把输入改了,输入还是和 : 输出一样呀。请问这个问题是什么呢?谢谢
|
c******3 发帖数: 296 | 6
你把c++换成++c,然后再run一遍
【在 s********e 的大作中提到】 : 还是请你进一步指教!能否说的详细一下?谢谢!:)
|
c***n 发帖数: 809 | 7 c++是先赋值在++, 所以carr 和arr是一样的,
这段程序那里来的,真是有待提高啊。
【在 s********e 的大作中提到】 : 贡献一个Java 程序 面试题,看不懂为啥。请指教! : 经运行,输出结果为 8 3 4 : 而且,我发现如果我修改了byte arr[] = new byte[]{8,3,4,5}; 的数组值,输入也修 : 改, : 总是arr数组值是一致的。高人能给解释一下这个程序是为什么吗?谢谢! : import java.util.Collection; : import java.util.Set; : public class MyClass { : : public static void main(String[] args){
|
s***g 发帖数: 257 | 8 这个应该是考察 c++ or ++C的区别,至于,byte 与 char之间的互换,是保值的
【在 s********e 的大作中提到】 : 贡献一个Java 程序 面试题,看不懂为啥。请指教! : 经运行,输出结果为 8 3 4 : 而且,我发现如果我修改了byte arr[] = new byte[]{8,3,4,5}; 的数组值,输入也修 : 改, : 总是arr数组值是一致的。高人能给解释一下这个程序是为什么吗?谢谢! : import java.util.Collection; : import java.util.Set; : public class MyClass { : : public static void main(String[] args){
|