簡體   English   中英

在控制台中輸入后防止進入下一行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM