lzth.net
当前位置:首页 >> jAvA int和ChAr二维数组的问题 >>

jAvA int和ChAr二维数组的问题

首先,要先弄明白java中的数组.java中实际上没有多维数组的概念.只有一维数组.多维数组实际上是一维数组的数组.这和c++中的多维数组概念是不同的.举个例子:int[][] int1=new int[3][2];int1[i]引用第i个字数组,也就是二维表中的第i行.

第一个程序是直接输出int类型的值,当然很快.第二个程序你输出的是char类型的i,其实在输出的时候,默认给你转成了String类型的对应值输出(比如i=65的时候,输出的是A,i=97的时候输出的是a).当i很大很大的时候,系统会去将这个char类型东西转换成控制台能看到的.而不是你想要的单纯的输出0-65535.总之,这个和ASICII码有很大的关系.在输出的那条语句,其实是将数字类型的ASICII码转成了String类型后再输出.因此,当然很慢,而且,很多都是不认识的乱码吧.希望能够帮到你.

代码如下: 运行结果如下: 以下是文字版的代码: import java.util.Scanner; public class Test{ public static void main(String []args) { Scanner in=new Scanner(System.in); System.out.print("请输入数组c第一维的元素个数:"); int n=in.

import java.util.*;public class Test{ public static void main(String[] args) { Scanner sn=new Scanner(System.in); System.out.println("输入多少个字符:"); int n=sn.nextInt(); char[][] ch=new char[n][]; System.out.println("输入字符:"); for(

for(int b=x[i].length-1;b>=1;b--){ System.out.println(b-1); x[b][j]=x[b-1][j]; 这一句b=x[i].length-1 b=6 而x.length=6 所以x[b][j] 其实是x[6][j] 确实越界了

import java.util.Scanner;public class Kyo{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); char[][] css = new char[4][]; for(int i = 0; i 评论0 0 0

System.out.println(test1.c+"");这样就可以了这是println方法的本身问题,由于char和String说不清道不明的复杂关系它对char和char的数组输出专门写了两个重载方法但是在处理char数组的时候,没有判断空,直接遍历它了这应该是JDK自身的漏洞吧在后面加上空字符串后,println方法使用的就是println(String)了而不是println(char[])了

因为数组下标越界了 String[][] matrix=new String[x] [y]; matrix[x][y]的下标范围是[0 - (x-1)][0 - (y - 1)] 数组的最后一位是matrix[x-1][y-1]

其实你可以这么理解:对于int[][]来说,由于二维数组是int型,arr[0]代表第一行,由于没有值,所以是null;对于char[][]来说,由于二维数组是char型,arr[0]代表的是某一行字符的指针,即相当于一个字符串的指针,但是因为也没有赋值,所以是nullpointer,即空指针,java中对于空指针,会提示一个意外,即exception.其实,这两种情况是差不多的.只是结果不一样.

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com