java控制檯輸入

做了實習的第一個筆試,方法都寫的好好的,自己idea上也ok,到了牛客網上就數組越界,心塞的不行。查了一下都講是輸入輸出的問題。一方面覺得筆試這樣設置非常不合理,另一方面也明白是自己輸入輸出着實沒學到位,因此沒有這方面應急能力。所以總結一下輸入輸出。

步驟:

(1)創建Scanner對象,接受從控制檯輸入

Scanner input=new Scanner(System.in);

(2)接受String類型或int類型

String str=new input.next();
int n=input.nextInt();

  /*在新增一個Scanner對象時需要一個System.in對象,因爲實際上還是System.in在取得用戶輸入。Scanner的next()方法用以取得用戶輸入的字符串;nextInt()將取得的輸入字符串轉換爲整數類型;同樣,nextFloat()轉換成浮點型;nextBoolean()轉換成布爾型。*/

例:

(1)輸入一個字符串或數

import java.util.Scanner;
 
public class Demo59 {
	public static void main(String[] args) {
		//創建Scanner對象,接受從控制檯輸入
		Scanner input=new Scanner(System.in);
		//接受String類型
		String str=input.next();
		//輸出結果
		System.out.println(str);
	}
 
}

 

(2)連續輸入多行數,以空行結束

 public static void inputInteger() {
        Scanner scanner = new Scanner(System.in);
        String nextLine = scanner.nextLine();
        int sum = 0;

        while (nextLine != null && !nextLine.equals("")) {
            sum += Integer.parseInt(nextLine);
            System.out.println(sum);
            nextLine = scanner.nextLine();
        }

        System.out.println("end of input integer");
    }

(3)連續輸入多行字符串,以空行結束

    public static void main(String[] args)
    {
        StringBuilder stringbuilder = new StringBuilder();
        Scanner scanner = new Scanner(System.in);
        while(true)
        {
            String text = scanner.nextLine().trim();
            if ("".equals(text))
            {
                break;
            }
            stringbuilder.append(text);
        }

        System.out.println(stringbuilder.toString());
    }

注:trim用於去除字符串兩端Unicode編碼小於等於32(\u0020)的所有字符;還可使用trim()的重載方法String.Trim(Char[])自定義需去除的符號。

(4)輸入多個數值,以空格分開

  public static void inputIntInLine() {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        String[] numstr = str.split(" ");
        int[] nums = new int[numstr.length];
        for(int i = 0; i < numstr.length; i ++) {
            nums[i] = Integer.parseInt(numstr[i]);
        }
        for(int n: nums) {
            System.out.println(n);
        }
        System.out.println("end of input int in a line");

    }

(5)做題時可以正確的輸入

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner in =  new Scanner(System.in);   
        while(in.hasNext()){
            String str = in.nextLine();
            System.out.println(str);
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章