当前位置: 首页 > 知识库问答 >
问题:

字符数字到整数的转换[重复]

白青青
2023-03-14

我让用户输入一个数字字符串,然后for循环应该从字符串中挑出每个数字,并将其添加到数组列表中。我相信有人能很快帮到我

我的问题如下。当我打印出数组列表中的所有值时,它打印出的数字要高得多,例如1234=49 50 51 52。

我认为现在的情况是,它正在打印ASCII值,而不是数字本身。有人能指出发生这种情况的地点和原因吗?

我尝试将变量barcodeNumberAtI更改为char,这会产生相同的结果。

很抱歉没有评论,但这只是一个快速的程序

int tempNewDigit;
String barCode, ans;
int barcodeNumberAtI;
ArrayList <Integer> numbers = new ArrayList <Integer>();


public void addNumbers(){

    Scanner s = new Scanner(System.in);

    do{
    System.out.println("Please enter a 12 digit barcode\n");
    barCode = s.nextLine();

    for(int i = 0; i < barCode.length(); i++){

        barcodeNumberAtI = barCode.charAt(i);
        System.out.println(barcodeNumberAtI);
        numbers.add(barcodeNumberAtI);

    }

    System.out.print("Would you like to add another? y/n\n");
    ans = s.nextLine();
    } while (!ans.equals("n"));     
}

public void displayNumbers(){

    for(int i = 0; i < numbers.size(); i++){
        System.out.print(numbers.get(i));
    }

} 

共有1个答案

后树
2023-03-14

发生在此行:barcodeNumberAtI=条形码。charAt(i)

<代码>条形码。charAt(i)返回一个char,该char通过使用其ASCII值转换为int。

请改用此选项:

barcodeNumberAtI = Character.digit(barCode.charAt(i), 10);

什么<代码>字符。digit正在将其第一个参数从类型char转换为第二个参数指定的基数中相应的int。这里是文档的链接

 类似资料:
  • 可能重复: 如何在Java中将字符串转换为int? 我试图弄清楚如何将一个包含整数的字符串转换为一个整数变量。 代码: 我想将、和转换为整数。

  • 我是Jooq的新手。我想把字符串转换成整数。 表1中定义:- 表2中定义:- 在select query中。 因为city_id在Table1和TABLE2中的格式不同。所以它需要转换table2的city_id,从字符串到整数,反之亦然,我尝试了Integer.valueOf(),我nteger.parseInt(),不工作。 感谢您的帮助。提前谢谢。

  • 我有“1”作为字符串,我想将它转换为十进制,作为整数。 我尝试了,但它返回49,而不是1个整数。 那么,将“1”字符串转换为1整数需要什么呢?

  • 我正在制作一个模拟制表方法(Quine McCluskey)的程序,并试图将字符串格式的输入转换为整数格式,最后再转换为字符串(二进制格式)格式。 编辑:我忘了包括这个方法…

  • 是否可以将字符串(如12)转换为等于3的整数? 我知道我可以用value()得到单个数字的值 但是,有没有可能在一个步骤而不是两个步骤中将“12”转换为3?