java - 如何在java中将多个整数作为以空格分隔的单个输入,然后将它们分解成整数?

标签 java arrays string numbers cube

需要取输入 1 2 3 或以空格分隔的任意长度 然后将其分解成单独的整数。 我尝试了 arrayStringsCharAt()string.split() 方法,但它们不起作用.

输入可以是 1 2 3 4 或 1 2 或任意长度,我们需要将 1,2,3 分隔为整数。

到目前为止我已经尝试过:

class Cube{ 
  public static void main(String args[]){ 
    int i,j=0,sum=0; int arr[]=new int[10]; 
    Scanner scan=new Scanner(System.in); 
    String s=scan.nextLine(); 
    int len =s.length(); 
    for(i=0;i<=len;i++){ 
        String[] str=s.split(" "); 
        int i=str[j]; sum+=Math.pow(3,i); j++; 
    } 
  } 
}

最佳答案

当您调用 String.split 时,您将获得一个 String[]。在 Java 8+ 中,您可以将其流式传输(并映射到 int),然后转换为类似

的数组
String str = "1 2 3";
int[] arr = Stream.of(str.split("\\s+")).mapToInt(Integer::parseInt).toArray();

此外,

sum+=Math.pow(3,i);

是 3i,我相信你想要

sum+=(i * i * i);

sum+=Math.pow(i, 3);

将它们放在一起,对 Stringint(s) 的立方体求和,您可以这样做,

int sum = Stream.of(str.split("\\s+")).mapToInt(Integer::parseInt)
        .map(x -> x * x * x).sum();

关于java - 如何在java中将多个整数作为以空格分隔的单个输入,然后将它们分解成整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37427262/

相关文章:

java - 调整图片大小以适合 JLabel

java - 从二维数组中删除元素

java - 线程 "main"java.lang.StringIndexOutOfBoundsException : String index out of range: 4 中的异常

java - 如何在 Java 中比较字符串?

java - 为什么命令行找不到我的 .java 文件?

包含数组方法的 JavaScript 函数未返回所需结果

ios - 打印数组中具有特定字符串的所有元素

java - (Java) 获取第二个到最后一个正斜杠和最后一个正斜杠之后的字符串值

c - 使用分隔符将字符串分隔为 double 组

java - client_secrets.json 文件必须放在 Android Studio 项目文件夹树中的什么位置?