java中数组的输出int增加整数值
有人能解释为什么当我输入值时,数组中存储的所有值的输出都增加了9吗java中数组的输出int增加整数值,java,Java,有人能解释为什么当我输入值时,数组中存储的所有值的输出都增加了9吗 int [] number; int numCounter,num; userInt validate = new userInt(); //set the number of array it can hold number = new int[100]; //set the counter to be equal to zero; numCounter = 0;
int [] number;
int numCounter,num;
userInt validate = new userInt();
//set the number of array it can hold
number = new int[100];
//set the counter to be equal to zero;
numCounter = 0;
validate.InputString("enter up to 100 positive integer;");
while(true){
validate.InputString("enter 0 to end");
num = validate.userInt();
//this will exist the loop statement
if(num <= 0)
break;
number[numCounter] = num;
numCounter++;
}
//this will print the enter number from the array in reversed order
for(int i = numCounter - 1; i >= 0; i--)
System.out.println(number[i] +'\t');
}
int[]号;
int numCounter,num;
userInt validate=new userInt();
//设置它可以容纳的数组数
数字=新整数[100];
//将计数器设置为等于零;
numCounter=0;
validate.InputString(“最多输入100个正整数;”);
while(true){
validate.InputString(“输入0结束”);
num=validate.userInt();
//这将存在于loop语句中
如果(num=0;i--)
System.out.println(编号[i]+'\t');
}
将制表符的int值添加到每个数字中,即9
System.out.println(number[i] +'\t')
如果要在每个数字后打印选项卡,请更改为:
System.out.println(number[i] + "\t");
number
的类型为int[]
ASCII中的Tab是9,正如我们在ASCII表中看到的:
运行代码时,Java会看到:
int + char
它不能添加char
和int
,因此需要提升char
。表达式中精度最高的类型是int
类型,因此char
转换为其int
表示形式。因此,它变成:
int + int
要解决这个问题,您需要将字符
更改为字符串
。这将使其比int
具有更高的精度,并意味着int
将提升为String
,从而将+
从整数加法运算符更改为字符串串联运算符
额外阅读
- 了解。这是一个将所有操作数提升到相同精度以便于操作的过程
- 不妨阅读一下Java中
和“
之间的区别。您可以看到这一点”
正如其他一些已经提到的,当你的编译器碰到标签字符时,它将它作为int来计算,并且增加整数值来增加你的数组值。此外,为了帮助你,而不是有一个<代码>真/ <代码>值作为while循环条件,考虑移动<代码> NUMD,你看到了什么,它在做什么?你应该发布
userInt
code.Bingo!应该是…+“\t”)
而不是。在我之前到达那里!精彩的捕获。+1非常详细:)+1这说明了一切:)谢谢,没问题,特里!如果你还有任何问题,请随时发布类似质量的问题:)
int + int