Java 如何创建字符类型的整数数组?

Java 如何创建字符类型的整数数组?,java,arrays,loops,Java,Arrays,Loops,我试图为给定维度创建一个字符类型的整数数组。例如,如果维度是5,那么数组应该是{'1','2','3','4','5',},但是我没有得到任何输出 public static void main(String[] args) { int dim = Integer.parseInt(args[0]); char [] num = new char[dim]; for(int i = 49; i < dim; i++){ for(int j =

我试图为给定维度创建一个字符类型的整数数组。例如,如果维度是5,那么数组应该是{'1','2','3','4','5',},但是我没有得到任何输出

public static void main(String[] args) {
    int dim = Integer.parseInt(args[0]);
    char [] num = new char[dim];
      for(int i = 49; i < dim; i++){
          for(int j = 0; j < dim; j++){
              num[j] = (char) i ;
          }
          System.out.println(num);
      }
}
publicstaticvoidmain(字符串[]args){
int dim=Integer.parseInt(args[0]);
char[]num=新字符[dim];
对于(int i=49;i
在这里,我更改了代码,添加了一个初始值ascii=49: 但我仍然没有得到期望的输出:(

publicstaticvoidmain(字符串[]args){
int dim=Integer.parseInt(args[0]);
char[]num=新字符[dim];
int ascii=49;
对于(int i=0;i
但可能没有外部for循环


但是可能没有外部for循环。

您的问题可能在第一个for循环中:

for(int i = 49; i < dim; i++){
for(int i=49;i
除非dim大于49,否则永远不会进入for循环(因为您已将i指定为49,条件是dim必须大于i[或i必须小于dim],才能执行循环)


如果从未输入第一个for循环,则永远不会到达print语句。

您的问题可能在第一个for循环中:

for(int i = 49; i < dim; i++){
for(int i=49;i
除非dim大于49,否则永远不会进入for循环(因为您已将i指定为49,条件是dim必须大于i[或i必须小于dim],才能执行循环)


如果从未输入第一个for循环,则永远不会到达print语句。

您能解释一下为什么要编写您所编写的内容,这样我们不仅可以修复代码,还可以告诉您错误在哪里吗?我正在尝试测试给定的字符串是否有效。有效字符串必须采用以下形式:A4、G6、B1…等等。f字符串的第一个字符必须是大写字母,第二个字符必须是数字。我将在问题中包括我的其余代码。Thnx.等等!测试给定字符串是否有效与生成字符数组的原始问题无关
['1','2','3']
。您最初的问题是一个吗?好的,所以我试图解决的实际问题是检查给定字符串的格式是否有效。如果字符串为“abc”或“b56”,则为false,给定字符串必须是大写字母和数字(直到给定维度)。你能解释一下为什么你写了你写的东西,这样我们不仅可以修复你的代码,而且可以告诉你错误在哪里吗?我正在尝试测试给定的字符串是否有效。有效字符串必须是以下形式:A4、G6、B1…等等。字符串的第一个字符必须是大写字母,第二个字符必须是number.我将在问题中包括我的其余代码。Thnx.等等!测试给定字符串是否有效与生成字符数组的原始问题无关
['1','2','3']
。您最初的问题是一个吗?好的,所以我试图解决的实际问题是检查给定字符串的格式是否有效。如果字符串为“abc”或“b56”,则为false,给定字符串必须是大写字母和数字(直到给定维度)。出于好奇,为什么要在49开始循环?为什么不1,循环到
i,因为char 1的ascii值是49。出于好奇,为什么要在49开始循环?为什么不1,循环到
i,因为char 1的ascii值是49。哦,对了,我编辑了这个问题并添加了我的新代码:)我看了你帖子下面的评论。请你更新你的问题,明确你想要达到的目标。你的目标是输出一个数组{'1','2','3','4','5}(其中元素的数量由一些输入指定)只需要一个for循环,而您使用的是两个。哦,对了,我编辑了这个问题并添加了我的新代码:)我查看了您帖子下面的评论。请您更新您的问题,以明确说明您正试图实现的目标。您的目标是输出数组{'1'、'2'、'3'、'4'、'5'}(其中元素的数量由一些输入指定)只需要一个for循环,但您使用的是两个for循环。
          num[j] = (char) (ascii + j);
for(int i = 49; i < dim; i++){