需要取输入 1 2 3 或以空格分隔的任意长度
然后将其分解成单独的整数。
我尝试了 array
、Strings
和 CharAt()
、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);
将它们放在一起,对 String
中 int
(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/