![](/img/trans.png)
[英]Is there a way you can get two Scanner input(integers) without going to the next line?
[英]Prevent going to next line after input in console
我的Java程序有問題。 我正在控制台( CMD
)上運行程序。
輸入輸入后,我希望控制台保持在同一行(當前會自動轉到下一行)。
這是我當前的程序:
int data[];
Scanner in = new Scanner(System.in);
data = new int[10];
System.out.println("Please Insert Numbers : ");
for(int i=0;i<5;i++)
{
data[i] = in.nextInt();
System.out.print("/t");
}
如何返回到行的開頭而不是轉到下一行?
Scanner in = new Scanner(System.in);
System.out.println("Please Insert Numbers Separated By Comma: ");
String input = in.nextLine();
input = input.replaceAll("\\s",""); //remove whitespaces
String[] numbers= input.split(","); //build string array using ',' as delimiter between numbers
int data[]= Arrays.asList(numbers).stream().mapToInt(Integer::parseInt).toArray(); //Available since Java8
就像奧斯卡·馬丁內斯(Oscar Martinez)所說的那樣,您可以讀取一個由空格分隔的數字字符串,並像本例一樣構建整數數組(在將字符串解析為int之前,我先驗證該字符串是否可以使用regex轉換為int):
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
int data[];
Scanner in = new Scanner(System.in);
data = new int[10];
System.out.println("Please Insert Numbers : ");
String line = in.nextLine();
String[] stringsNumber = line.split("\\s");
for(int i=0;i<stringsNumber.length;i++){
if(stringsNumber[i].matches("^\\d+$") && i<10){// \\d is a regex to verify if s is a number
data[i]= Integer.parseInt(stringsNumber[i]);
}
}
System.out.println(Arrays.toString(data));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.