Redian新闻
>
贡献一个Java 程序 面试题,看不懂为啥。请指教!
avatar
贡献一个Java 程序 面试题,看不懂为啥。请指教!# JobHunting - 待字闺中
s*e
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;
}
}
avatar
h*2
2
不是高人,请勿喷。
我把你的程序复制粘贴运行了一下,结果是8 3 4 5啊, 而且把输入改了,输入还是和
输出一样呀。请问这个问题是什么呢?谢谢
avatar
c*3
3
c++ vs. ++c
avatar
s*e
4
还是请你进一步指教!能否说的详细一下?谢谢!:)

【在 c******3 的大作中提到】
: c++ vs. ++c
avatar
s*e
5
谢谢,我昨天少写了一个输出数字,已更正。
问题是,这个程序为什么输入和输出都一样。

【在 h******2 的大作中提到】
: 不是高人,请勿喷。
: 我把你的程序复制粘贴运行了一下,结果是8 3 4 5啊, 而且把输入改了,输入还是和
: 输出一样呀。请问这个问题是什么呢?谢谢

avatar
c*3
6

你把c++换成++c,然后再run一遍

【在 s********e 的大作中提到】
: 还是请你进一步指教!能否说的详细一下?谢谢!:)
avatar
c*n
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){

avatar
s*g
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){

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。