首页 > 解决方案 > 如何将多个 String-Arraylist 存储到 int 变量中?

问题描述

import java.util.ArrayList;
import java.util.Scanner;

public class test {
  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter a number and when you are finished enter '=' ");
    System.out.print("Enter the first number: ");
    ArrayList<String> my_list = new ArrayList<String>();
    String value = scanner.next();
    int num = Integer.parseInt(value);
    if (num == Integer.parseInt(value)) {
        my_list.add(value);
    } else {
        System.out.print("Please enter a number");
    }
    while (!value.equals("=")) {
        System.out.print("Enter a number: ");
        value = scanner.next();
        my_list.add(value);
        my_list.remove("=");
    }
    System.out.println("The list looks like: ");
    System.out.println(my_list);
    backarryToNum(my_list);
}

public static void reverseArrayToNum(ArrayList number){
    int num;
    int sum = 0;

    for (int i = number.size()-1; i >= 0 ; i--) {
        int n = number.get(i);
        num = n * (int)Math.pow(10,i);
        sum += num;
        System.out.println(sum);
    }

  }
}

“int n = number.get(i)”行是问题所在。

reverseArrayToNum 方法将使数组反转,并将反转的数字数组转换为数字。

标签: java

解决方案


只是改变

int n = number.get(i);

int n = Integer.parseInt((String) number.get(i));

否则,您尝试将 String 存储到 int 中。另外,我想

backarryToNum(my_list);

应该是

reverseArrayToNum(my_list);

推荐阅读