gpt4 book ai didi

java - 这个java程序产生不需要的结果

转载 作者:行者123 更新时间:2023-12-01 16:59:01 24 4
gpt4 key购买 nike

我编写了一个程序来读取输入然后将其打印出来。

public class inverse {


public static void main (String arg[]) throws IOException {
int input1 = System.in.read();
System.out.println(input1);
String temp= Integer.toString(input1);
System.out.println(temp);
int[] numtoarray =new int[temp.length()];
System.out.println(temp.length());
for (int i=0 ;i<temp.length(); i++)
{numtoarray[i]= temp.charAt(i);
System.out.println(numtoarray[i]+"*");
}

}}

但是当我写 123456 时,它打印 49。但它应该打印 123456。是什么导致了这个问题?

最佳答案

123456 是一个整数,但 System.in.read() 读取下一个字节作为输入,因此它不会按预期读取该整数。使用 Scanner#nextInt() 方法读取整数:

Scanner input = new Scanner(System.in);
int input1 = input.nextInt();

您的 numtoarray 数组还将打印字节,而不是解析为字符串的整数的各个字符。要打印字符,请将类型更改为 char[]:

char[] numtoarray = new char[temp.length()];
System.out.println(temp.length());
for (int i = 0; i < temp.length(); i++) {
numtoarray[i] = temp.charAt(i);
System.out.println(numtoarray[i] + "*");
}

关于java - 这个java程序产生不需要的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29181666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com