Java程序中如何輸入數據


介紹一下我認為最簡便實用的一種——Scanner類。

根據以下代碼的具體操作先簡單了解一下Scanner的使用:

package first;
import java.util.Scanner;
 
public class Input {
 
    public static void main(String[] args) {
 
        Scanner in = new Scanner(System.in);//定義scanner,等待輸入
        System.out.println("請輸入你的姓名:");
        String name = in.nextLine();//字符類型的輸入方式
        System.out.println(name);
        System.out.println("請輸入你的年齡:");
        int age = in.nextInt();//整數類型的輸入方式
        System.out.println(age);
        System.out.println("請輸入你的身高:");
        double height = in.nextDouble();//小數類型的輸入方式
        System.out.println(height);
 
    }
 
}

Scanner類位於java.util.Scanner包中,因此在程序前面要加上此包。

其中Scanner in = new Scanner(System.in);這一句是關鍵。這一句的意思是:通過new Scanner(System.in)創建一個Scanner,控制台會一直等待輸入,直到敲回車鍵結束,把所輸入的內容傳給Scanner,作為掃描對象。

然后如果想要獲取輸入的內容,就需要調用Scanner的nextLine()方法,因此就用到了String name = in.nextLine(),int age = in.nextInt(),double height = in.nextDouble()這三句來獲取輸入的內容。

如代碼所示,Scanner類還是很好使用的,不管是字符串,整數還是浮點型,只需要做一點小小的變化,就可以實現輸入功能。

但是這里面有一點需要注意一下,就是nextLine()方法會吃回車符,就比如下面這個代碼:

package first;
import java.util.Scanner;
 
public class Input {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);//定義scanner,等待輸入
        System.out.println("請輸入你的姓名:");
        String name = in.nextLine();//字符類型的輸入方式
        System.out.println(name);
        System.out.println("請輸入你的年齡:");
        int age = in.nextInt();//整數類型的輸入方式
        System.out.println(age);
        System.out.println("請輸入蘋果的英文:");
        //String s = in.next();
        String s = in.nextLine();
        System.out.println(s);
        System.out.println("請輸入你的身高:");
        double height = in.nextDouble();//小數類型的輸入方式
        System.out.println(height);
        
    }
 
}

你運行一下就會發現程序並沒有讓你輸入蘋果的英文,而是直接回車了,那是因為你輸入完年齡之后的那個回車被nextLine()吃掉了,因此它並沒有輸出什么,但如果你用in.next()的話,它是可以輸入的。

(下面是兩種運行結果)

這是in.nextLine()的運行結果:

 

 這是in.next()的運行結果:

 

 

最后補充一下nextLine()和next()的區別:

nextLine()方法返回的是Enter鍵之前的所有字符,它是可以得到帶空格的字符串的。

next()會自動消去有效字符前的空格,只返回輸入的字符,不能得到帶空格的字符串。

更新:
如果要輸入帶空格的字符串的話,可以添加in.nextLine();語句吃掉回車符,如下

package first;
import java.util.Scanner;
 
public class Input {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);//定義scanner,等待輸入
        System.out.println("請輸入你的姓名:");
        String name = in.nextLine();//字符類型的輸入方式
        System.out.println(name);
        System.out.println("請輸入你的年齡:");
        int age = in.nextInt();//整數類型的輸入方式
        System.out.println(age);
        System.out.println("請輸入蘋果的英文:");
        //String s = in.next();
        in.nextLine(); //吃掉回車符
        String s = in.nextLine();
        System.out.println(s);
        System.out.println("請輸入你的身高:");
        double height = in.nextDouble();//小數類型的輸入方式
        System.out.println(height);
        
    }
 
}

運行結果如下:

 

 


原文鏈接:https://blog.csdn.net/qq_41181772/article/details/83653875


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM