编写程序能够得到一个int[]数组中的char字符

老二q 发布于 2016/06/29 14:10
阅读 328
收藏 0
java,编写程序能够得到一个int[]数组中的char字符,怎么弄

以下是问题补充:

@老二q:int[] arr = new int[5]; arr[0]=97; arr[1]=2; arr[2]='A'; arr[3]=4; arr[4]=5; 只把A打印出来 (2016/06/29 14:55)
加载中
0
jason_66
jason_66
没看懂你是什么意思。
0
烟雨三月
烟雨三月

arr[2]='A'; 存到数组中的是 'A' 的 ascii 码对应的整数。整型可以强制转换成字符型,具体哪个整数值需要转换成字符输出,你可以用 if 来判断,比如只输出 A:

if (a[i] == 65) {
  System.out.println((char) a[i]);
}




老二q
这个当然知道,意思是在不知道数组里具体存什么元素的情况下,找出字符,
0
SVD
SVD
package printArray;

public class printArray {
	public static void main(String[] args)
	{
    int[] arr = new int[5];
	arr[0]=97;
	arr[1]=2;
	arr[2]='A';
	arr[3]=4;
	arr[4]=5;
	//System.out.println(arr);
	for(int i:arr)
	{
		if(i==65)
		System.out.println((char)(i));
		else
		System.out.println(i);
	}
		
	}
	
}



老二q
就给你个int型的数组,里边有整形和char类型,具体值不告诉你,怎么把char类型的找出来,你那么些和直接写System.out.println(“A”);有什么区别
0
紅顏為君笑
紅顏為君笑
int型数组存储的元素都是int类型 java中的char占用两字节 取值范围是0~65535 即得出:int类型数组中的元素的值在0~65535这个范围也就是你所找的 不知道这是不是你想要的
紅顏為君笑
紅顏為君笑
回复 @老二q : 建议你把char类型转换成int类型去对比 把int类型转成char类型的话即便超出char类型的取值范围仍然可以转换 所以可能会导致结果和你预期的不一致
老二q
就比如,举得例子中的arr[0],转成char就是a,要是不算这种情况,直接想找出arr[2]就没办法了是吗
老二q
确实是这个道理,那麻烦问下,不算转化过来的char,是不是就没法确定了
0
阿信sxq
阿信sxq
看了上面你的回复,其时没办法分辨你赋值是int还是char,因为一旦赋值完成,就都是int的了,因为数组类型是int的,所以说你的要求是没有办法满足的
返回顶部
顶部