Eh, apa pertanyaanmu? Anda baru saja memposting beberapa kode dan berkata Anda tidak suka pointer. Tidak mengerti pointer masih bisa kembali menggigit Anda di java jika Anda tidak mengerti pass by reference dan pass by value.
Scott
4
Anda harus mencoba belajar java membaca buku, Java How to Program, 7 / e adalah buku yang bagus
Marco Aviles
Jawaban:
334
Anda dapat menggunakan salah satu opsi berikut berdasarkan persyaratan.
import java.io.BufferedReader;import java.io.InputStreamReader;BufferedReader br =newBufferedReader(newInputStreamReader(System.in));String s = br.readLine();int i =Integer.parseInt(s);
import java.io.DataInputStream;DataInputStream dis =newDataInputStream(System.in);int i = dis.readInt();
The readLinemetode dari DataInputStreamkelas telah usang . Untuk mendapatkan nilai String, Anda harus menggunakan solusi sebelumnya dengan BufferedReader
Perhatikan bahwa DataInputStreamini untuk membaca data biner. Menggunakan readIntpada System.intidak tidak mengurai integer dari data karakter, itu malah akan menafsirkan nilai-nilai unicode dan kembali omong kosong. Lihat DataInput#readIntdetail ( DataInputStreamimplementasi DataInput).
Radiodef
3
ini hebat, akan senang melihat impor yang dibutuhkan ditambahkan untuk kelengkapan. Itu juga akan sangat membantu mereka yang membutuhkannya.
KnightHawk
1
Jawaban ini akan jauh lebih membantu jika disebutkan apa persyaratan sebenarnya. Saya sudah mulai hadiah untuk mencoba memperbaikinya.
temporary_user_name
405
Salah satu cara paling sederhana adalah dengan menggunakan Scannerobjek sebagai berikut:
import java.util.Scanner;Scanner reader =newScanner(System.in);// Reading from System.inSystem.out.println("Enter a number: ");int n = reader.nextInt();// Scans the next token of the input as an int.//once finished
reader.close();
Anda dapat membuat program sederhana untuk menanyakan nama pengguna dan mencetak jawaban yang pernah digunakan input.
Atau minta pengguna untuk memasukkan dua angka dan Anda dapat menambah, melipatgandakan, mengurangi, atau membagi angka-angka itu dan mencetak jawaban untuk input pengguna seperti perilaku kalkulator.
Jadi di sana Anda perlu kelas Scanner. Anda harus import java.util.Scanner;dan dalam kode yang perlu Anda gunakan
Scanner input =newScanner(System.in);
Input adalah nama variabel.
Scanner input =newScanner(System.in);System.out.println("Please enter your name : ");
s = input.next();// getting a String valueSystem.out.println("Please enter your age : ");
i = input.nextInt();// getting an integerSystem.out.println("Please enter your salary : ");
d = input.nextDouble();// getting a double
Lihat bagaimana berbeda ini: input.next();, i = input.nextInt();,d = input.nextDouble();
Menurut String, int dan dobel bervariasi cara yang sama untuk sisanya. Jangan lupa pernyataan impor di bagian atas kode Anda.
Dua opsi terbaik adalah BufferedReaderdan Scanner.
Metode yang paling banyak digunakan adalah Scannerdan saya pribadi lebih suka karena kesederhanaan dan implementasi yang mudah, serta utilitas yang kuat untuk mem-parsing teks menjadi data primitif.
Keuntungan Menggunakan Pemindai
ScannerKelas mudah digunakan
Input angka yang mudah (int, pendek, byte, float, panjang dan ganda)
Pengecualian tidak dicentang yang lebih nyaman. Terserah programmer untuk beradab, dan menentukan atau menangkap pengecualian.
Dapat membaca garis, spasi putih, dan token yang dibatasi regex
Keuntungan BufferedInputStream
BufferedInputStream adalah tentang membaca blok data daripada satu byte pada satu waktu
Secara keseluruhan setiap metode input memiliki tujuan yang berbeda.
Jika Anda memasukkan data dalam jumlah besar BufferedReadermungkin lebih baik untuk Anda
Jika Anda memasukkan banyak angka, Scannertidak otomatis parsing yang sangat nyaman
Untuk penggunaan yang lebih mendasar saya akan merekomendasikan Scannerkarena lebih mudah digunakan dan lebih mudah untuk menulis program. Berikut adalah contoh cepat cara membuat Scanner. Saya akan memberikan contoh komprehensif di bawah ini tentang cara menggunakanScanner
Scanner scanner =newScanner(System.in);// create scannerSystem.out.print("Enter your name");// prompt user
name = scanner.next();// get user input
import java.util.InputMismatchException;// import the exception catching classimport java.util.Scanner;// import the scanner classpublicclassRunScanner{// main method which will run your programpublicstaticvoid main(String args[]){// create your new scanner// Note: since scanner is opened to "System.in" closing it will close "System.in". // Do not close scanner until you no longer want to use it at all.Scanner scanner =newScanner(System.in);// PROMPT THE USER// Note: when using scanner it is recommended to prompt the user with "System.out.print" or "System.out.println"System.out.println("Please enter a number");// use "try" to catch invalid inputstry{// get integer with "nextInt()"int n = scanner.nextInt();System.out.println("Please enter a decimal");// PROMPT// get decimal with "nextFloat()"float f = scanner.nextFloat();System.out.println("Please enter a word");// PROMPT// get single word with "next()"String s = scanner.next();// ---- Note: Scanner.nextInt() does not consume a nextLine character /n // ---- In order to read a new line we first need to clear the current nextLine by reading it:
scanner.nextLine();// ----System.out.println("Please enter a line");// PROMPT// get line with "nextLine()"String l = scanner.nextLine();// do something with the inputSystem.out.println("The number entered was: "+ n);System.out.println("The decimal entered was: "+ f);System.out.println("The word entered was: "+ s);System.out.println("The line entered was: "+ l);}catch(InputMismatchException e){System.out.println("\tInvalid input entered. Please enter the specified input");}
scanner.close();// close the scanner so it doesn't leak}}
Catatan: Kelas-kelas lain seperti Consoledan DataInputStreamjuga merupakan alternatif yang layak.
Consolememiliki beberapa fitur canggih seperti kemampuan membaca kata sandi, namun, tidak tersedia di semua IDE (seperti Eclipse). Alasan ini terjadi adalah karena Eclipse menjalankan aplikasi Anda sebagai proses latar belakang dan bukan sebagai proses tingkat atas dengan konsol sistem. Berikut ini tautan ke contoh yang berguna tentang cara mengimplementasikan Consolekelas.
DataInputStreamterutama digunakan untuk membaca input sebagai tipe data primitif, dari aliran input yang mendasarinya, dengan cara yang bebas mesin. DataInputStreambiasanya digunakan untuk membaca data biner. Ini juga menyediakan metode kenyamanan untuk membaca tipe data tertentu. Sebagai contoh, ia memiliki metode untuk membaca UTF String yang dapat berisi sejumlah baris di dalamnya.
Namun, ini adalah kelas yang lebih rumit dan sulit untuk diterapkan sehingga tidak direkomendasikan untuk pemula. Berikut ini tautan ke contoh yang bermanfaat bagaimana menerapkan a DataInputStream.
Saya akan pergi ke depan dan memanggil pemenang di sini. Sebagian besar jawaban yang sangat bagus, meskipun saya berharap ini lebih mendalam ketika saya ingin menggunakan DataInputStream- deskripsi di sana terdengar identik dengan use case untuk Scanner: membaca data ke dalam primitif. Juga, jika seseorang berada pada tahap di mana mereka tidak tahu bagaimana mendapatkan input pengguna, kemungkinan besar mereka juga tidak mengerti mengapa beberapa bagian dari perpustakaan standar tidak akan tersedia di IDE tertentu. Tentu saja itu yang terjadi pada saya - mengapa Consoletidak tersedia?
Sempurna. Sekarang inilah jawaban yang dibutuhkan pertanyaan ini selama ini. Kalau saja ada beberapa cara saya bisa mendapatkannya ke atas.
temporary_user_name
Nah, siapa pun yang mau gulir ke bawah akan mendapatkan jawaban yang baik dan perlahan-lahan akan naik :)
JFreeman
1
Terima kasih. Jawaban informatif yang terperinci. Menambahkan try-with-resourceakan membuatnya lebih baik.
Sourabh
8
Di sini, program meminta pengguna untuk memasukkan nomor. Setelah itu, program mencetak digit angka dan jumlah digit.
import java.util.Scanner;publicclassPrintNumber{publicstaticvoid main(String[] args){Scanner scan =newScanner(System.in);int num =0;int sum =0;System.out.println("Please enter a number to show its digits");
num = scan.nextInt();System.out.println("Here are the digits and the sum of the digits");while(num >0){System.out.println("==>"+ num %10);
sum += num %10;
num = num /10;}System.out.println("Sum is "+ sum);}}
InputStreamReader dan BufferedReader adalah kelas dalam paket java.io.
Data diterima dalam bentuk byte dari keyboard oleh System.in yang merupakan objek InputStream.
Kemudian InputStreamReader membaca byte dan menerjemahkannya menjadi karakter.
Kemudian akhirnya objek BufferedReader membaca teks dari aliran input karakter, buffering karakter untuk menyediakan pembacaan karakter, array, dan garis yang efisien.
import java.util.Scanner;classDaytwo{publicstaticvoid main(String[] args){System.out.println("HelloWorld");Scanner reader =newScanner(System.in);System.out.println("Enter the number ");int n = reader.nextInt();System.out.println("You entered "+ n);}}
Berikut adalah versi yang lebih maju dari jawaban yang diterima yang membahas dua kebutuhan umum:
Mengumpulkan input pengguna berulang kali hingga nilai keluar telah dimasukkan
Berurusan dengan nilai input yang tidak valid (bukan bilangan bulat dalam contoh ini)
Kode
package inputTest;import java.util.Scanner;import java.util.InputMismatchException;publicclassInputTest{publicstaticvoid main(String args[]){Scanner reader =newScanner(System.in);System.out.println("Please enter integers. Type 0 to exit.");boolean done =false;while(!done){System.out.print("Enter an integer: ");try{int n = reader.nextInt();if(n ==0){
done =true;}else{// do something with the inputSystem.out.println("\tThe number entered was: "+ n);}}catch(InputMismatchException e){System.out.println("\tInvalid input type (must be an integer)");
reader.nextLine();// Clear invalid input from scanner buffer.}}System.out.println("Exiting...");
reader.close();}}
Contoh
Please enter integers.Type0 to exit.Enter an integer:12The number entered was:12Enter an integer:-56The number entered was:-56Enter an integer:4.2Invalid input type (must be an integer)Enter an integer: but i hate integers
Invalid input type (must be an integer)Enter an integer:3The number entered was:3Enter an integer:0Exiting...
Perhatikan bahwa tanpa nextLine(), input yang buruk akan memicu pengecualian yang sama berulang kali dalam loop tak terbatas. Anda mungkin ingin menggunakan next()sebagai gantinya tergantung pada keadaan, tetapi tahu bahwa input seperti this has spacesakan menghasilkan beberapa pengecualian.
Ini adalah kode sederhana yang menggunakan System.in.read()fungsi ini. Kode ini hanya menuliskan apa pun yang diketik. Anda dapat menghilangkan loop sementara jika Anda hanya ingin mengambil input sekali, dan Anda dapat menyimpan jawaban dalam array karakter jika Anda memilihnya.
package main;import java.io.IOException;publicclassRoot{publicstaticvoid main(String[] args){newRoot();}publicRoot(){while(true){try{for(int y =0; y <System.in.available();++y){System.out.print((char)System.in.read());}}catch(IOException ex){
ex.printStackTrace(System.out);break;}}}}
import java.util.Scanner;publicclassMain{publicstaticvoid main(String[] args){System.out.println("Welcome to the best program in the world! ");while(true){System.out.print("Enter a query: ");Scanner scan =newScanner(System.in);String s = scan.nextLine();if(s.equals("q")){System.out.println("The program is ending now ....");break;}else{System.out.println("The program is running...");}}}}
Anda bisa mendapatkan input pengguna menggunakan Scanner. Anda dapat menggunakan validasi input yang tepat menggunakan metode yang tepat untuk berbagai tipe data seperti next()untuk Stringatau nextInt()untuk Integer.
import java.util.Scanner;Scanner scanner =newScanner(System.in);//reads the input until it reaches the spaceSystem.out.println("Enter a string: ");String str = scanner.next();System.out.println("str = "+ str);//reads until the end of lineString aLine = scanner.nextLine();//reads the integerSystem.out.println("Enter an integer num: ");int num = scanner.nextInt();System.out.println("num = "+ num);//reads the double valueSystem.out.println("Enter a double: ");double aDouble = scanner.nextDouble();System.out.println("double = "+ aDouble);//reads the float value, long value, boolean value, byte and shortdouble aFloat = scanner.nextFloat();long aLong = scanner.nextLong();boolean aBoolean = scanner.nextBoolean();byte aByte = scanner.nextByte();short aShort = scanner.nextShort();
scanner.close();
Cara paling sederhana untuk mendapatkan input pengguna adalah menggunakan Scanner. Berikut ini contoh bagaimana seharusnya digunakan:
import java.util.Scanner;publicclass main {publicstaticvoid main(String[]args){Scanner sc=newScanner(System.in);int a;String b;System.out.println("Type an integer here: ");
a=sc.nextInt();System.out.println("Type anything here:");
b=sc.nextLine();
Baris kode import java.util.Scanner;memberi tahu program bahwa programmer akan menggunakan input pengguna dalam kode mereka. Seperti dikatakan, itu mengimpor utilitas pemindai. Scanner sc=new Scanner(System.in);memberitahu program untuk memulai input pengguna. Setelah Anda melakukannya, Anda harus membuat string atau integer tanpa nilai, lalu letakkan di baris a=sc.nextInt();atau a=sc.nextLine();. Ini memberikan variabel nilai input pengguna. Kemudian Anda dapat menggunakannya dalam kode Anda. Semoga ini membantu.
class ex1 {publicstaticvoid main(String args[]){int a, b, c;
a =Integer.parseInt(args[0]);
b =Integer.parseInt(args[1]);
c = a + b;System.out.println("c = "+ c);}}// Output
javac ex1.java
java ex1 1020
c =30
Entri keyboard menggunakan Scanner dimungkinkan, seperti yang diposkan orang lain. Tetapi dalam masa-masa yang sangat grafis ini tidak ada gunanya membuat kalkulator tanpa antarmuka pengguna grafis (GUI).
Di Jawa modern ini berarti menggunakan alat drag-and-drop JavaFX seperti Scene Builder untuk mengeluarkan GUI yang menyerupai konsol kalkulator. Perhatikan bahwa menggunakan Scene Builder secara intuitif mudah dan tidak memerlukan keterampilan Java tambahan untuk penangan acaranya yang mungkin sudah Anda miliki.
Untuk input pengguna, Anda harus memiliki TextField lebar di bagian atas konsol GUI.
Di sinilah pengguna memasukkan angka yang ingin mereka jalankan fungsinya. Di bawah TextField, Anda akan memiliki array tombol fungsi yang melakukan fungsi dasar (yaitu menambah / mengurangi / mengalikan / membagi dan memori / mengingat / menghapus). Setelah GUI dihilangkan, Anda kemudian dapat menambahkan referensi 'controller' yang menautkan setiap fungsi tombol ke implementasi Java-nya, misalnya panggilan ke metode di kelas controller proyek Anda.
Video ini agak lama tetapi masih menunjukkan betapa mudahnya Scene Builder digunakan.
Jawaban ini telah diturunkan - tidak ada alasan yang diberikan. Bagi saya itu satu-satunya cara yang bisa digunakan untuk mendapatkan input pengguna ke aplikasi Java.
Batang
Ini sangat berguna, dan saya tidak mengerti mengapa itu gagal. Namun, jawaban saat ini dan pernyataan karunia menyiratkan bahwa mereka sedang mencari jawaban untuk pengguna masa depan yang ingin mendapatkan input melalui konsol.
JFreeman
Saya hanya tidak melihat ada pengguna Java - kecuali mereka yang terjebak dengan kode yang ditulis dalam versi Java yang lama - yang menggunakan input keyboard Scanner. Terakhir kali saya menjawab posting yang diikat oleh karunia. . .
Batang
Saya memahami keluhan Anda sepenuhnya. Saya pribadi percaya bahwa jawaban Anda sangat berguna sehingga saya tidak mengerti mengapa itu tidak dipilih. Namun, saya sering memiliki program tertulis yang tidak memiliki GUI dan jadi saya percaya bahwa kode yang tepat untuk a Scannersangat baik untuk tersedia.
JFreeman
Jika OP mengatakan itu adalah proses overhead rendah (tertanam?) Dengan layar I / O minimal atau tidak, cukup adil - Pemindai adalah yang mereka butuhkan. Tetapi mereka tidak menyatakan hal seperti itu. OP pada dasarnya meminta kami untuk menerima bahwa frasa ini, "input pengguna", utamanya menyarankan input keyboard atau mengundang kami untuk menafsirkan frasa itu untuk kami sendiri. . .
Jawaban:
Anda dapat menggunakan salah satu opsi berikut berdasarkan persyaratan.
Scanner
kelasBufferedReader
danInputStreamReader
kelasDataInputStream
kelasThe
readLine
metode dariDataInputStream
kelas telah usang . Untuk mendapatkan nilai String, Anda harus menggunakan solusi sebelumnya dengan BufferedReaderConsole
kelasTampaknya, metode ini tidak berfungsi dengan baik di beberapa IDE.
sumber
DataInputStream
ini untuk membaca data biner. MenggunakanreadInt
padaSystem.in
tidak tidak mengurai integer dari data karakter, itu malah akan menafsirkan nilai-nilai unicode dan kembali omong kosong. LihatDataInput#readInt
detail (DataInputStream
implementasiDataInput
).Salah satu cara paling sederhana adalah dengan menggunakan
Scanner
objek sebagai berikut:sumber
Scanner reader1 = new Scanner(System.in);
?Anda dapat menggunakan kelas Pemindai atau kelas Konsol
sumber
Anda bisa mendapatkan input pengguna menggunakan
BufferedReader
.Ini akan menyimpan
String
nilaiaccStr
sehingga Anda harus menguraikannyaint
menggunakanInteger.parseInt
.sumber
Inilah cara Anda mendapatkan input keyboard:
sumber
Anda dapat membuat program sederhana untuk menanyakan nama pengguna dan mencetak jawaban yang pernah digunakan input.
Atau minta pengguna untuk memasukkan dua angka dan Anda dapat menambah, melipatgandakan, mengurangi, atau membagi angka-angka itu dan mencetak jawaban untuk input pengguna seperti perilaku kalkulator.
Jadi di sana Anda perlu kelas Scanner. Anda harus
import java.util.Scanner;
dan dalam kode yang perlu Anda gunakanInput adalah nama variabel.
Lihat bagaimana berbeda ini:
input.next();
,i = input.nextInt();
,d = input.nextDouble();
Menurut String, int dan dobel bervariasi cara yang sama untuk sisanya. Jangan lupa pernyataan impor di bagian atas kode Anda.
Lihat juga posting blog "kelas pemindai dan dapatkan Input Pengguna" .
sumber
Dua opsi terbaik adalah
BufferedReader
danScanner
.Metode yang paling banyak digunakan adalah
Scanner
dan saya pribadi lebih suka karena kesederhanaan dan implementasi yang mudah, serta utilitas yang kuat untuk mem-parsing teks menjadi data primitif.Keuntungan Menggunakan Pemindai
Scanner
Kelas mudah digunakanKeuntungan BufferedInputStream
Scanner
antara utas )Secara keseluruhan setiap metode input memiliki tujuan yang berbeda.
Jika Anda memasukkan data dalam jumlah besar
BufferedReader
mungkin lebih baik untuk AndaJika Anda memasukkan banyak angka,
Scanner
tidak otomatis parsing yang sangat nyamanUntuk penggunaan yang lebih mendasar saya akan merekomendasikan
Scanner
karena lebih mudah digunakan dan lebih mudah untuk menulis program. Berikut adalah contoh cepat cara membuatScanner
. Saya akan memberikan contoh komprehensif di bawah ini tentang cara menggunakanScanner
(Untuk info lebih lanjut tentang
BufferedReader
lihat Cara menggunakan BufferedReader dan melihat Membaca baris Karakter )java.util.Scanner
Catatan: Kelas-kelas lain seperti
Console
danDataInputStream
juga merupakan alternatif yang layak.Console
memiliki beberapa fitur canggih seperti kemampuan membaca kata sandi, namun, tidak tersedia di semua IDE (seperti Eclipse). Alasan ini terjadi adalah karena Eclipse menjalankan aplikasi Anda sebagai proses latar belakang dan bukan sebagai proses tingkat atas dengan konsol sistem. Berikut ini tautan ke contoh yang berguna tentang cara mengimplementasikanConsole
kelas.DataInputStream
terutama digunakan untuk membaca input sebagai tipe data primitif, dari aliran input yang mendasarinya, dengan cara yang bebas mesin.DataInputStream
biasanya digunakan untuk membaca data biner. Ini juga menyediakan metode kenyamanan untuk membaca tipe data tertentu. Sebagai contoh, ia memiliki metode untuk membaca UTF String yang dapat berisi sejumlah baris di dalamnya.Namun, ini adalah kelas yang lebih rumit dan sulit untuk diterapkan sehingga tidak direkomendasikan untuk pemula. Berikut ini tautan ke contoh yang bermanfaat bagaimana menerapkan a
DataInputStream
.sumber
DataInputStream
- deskripsi di sana terdengar identik dengan use case untukScanner
: membaca data ke dalam primitif. Juga, jika seseorang berada pada tahap di mana mereka tidak tahu bagaimana mendapatkan input pengguna, kemungkinan besar mereka juga tidak mengerti mengapa beberapa bagian dari perpustakaan standar tidak akan tersedia di IDE tertentu. Tentu saja itu yang terjadi pada saya - mengapaConsole
tidak tersedia?try-with-resource
akan membuatnya lebih baik.Di sini, program meminta pengguna untuk memasukkan nomor. Setelah itu, program mencetak digit angka dan jumlah digit.
sumber
Untuk membaca garis atau string, Anda dapat menggunakan
BufferedReader
objek yang digabungkan dengan yangInputStreamReader
sebagai berikut:sumber
Ini adalah program Anda dari pertanyaan menggunakan
java.util.Scanner
:sumber
Scanner
objek; satu saja sudah cukup.Gunakan
System
kelas untuk mendapatkan input.http://fresh2refresh.com/java-tutorial/java-input-output/ :
sumber
System.in
(int baris pertama kode) akan memiliki modalS
untuk nama kelas.sumber
Hanya satu detail ekstra. Jika Anda tidak ingin mengambil risiko kebocoran memori / sumber daya, Anda harus menutup aliran pemindai saat Anda selesai:
Perhatikan bahwa java 1.7 dan yang lebih baru menangkap ini sebagai peringatan kompilasi (jangan tanya bagaimana saya tahu itu :-)
sumber
sumber
sumber
Berikut adalah versi yang lebih maju dari jawaban yang diterima yang membahas dua kebutuhan umum:
Kode
Contoh
Perhatikan bahwa tanpa
nextLine()
, input yang buruk akan memicu pengecualian yang sama berulang kali dalam loop tak terbatas. Anda mungkin ingin menggunakannext()
sebagai gantinya tergantung pada keadaan, tetapi tahu bahwa input sepertithis has spaces
akan menghasilkan beberapa pengecualian.sumber
Tambahkan
throws IOException
di sebelahmain()
, lalusumber
Sangat mudah untuk mendapatkan input dalam java, yang harus Anda lakukan adalah:
sumber
sumber
Anda bisa mendapatkan input pengguna seperti ini menggunakan BufferedReader:
Ini adalah bagaimana Anda menerapkannya
Jadi ketika pengguna mengetik namanya di konsol, "String name" akan menyimpan informasi itu.
Jika nomor yang ingin Anda simpan, kode akan terlihat seperti ini:
Semoga ini bisa membantu!
sumber
Bisa jadi sesuatu seperti ini ...
sumber
Ini adalah kode sederhana yang menggunakan
System.in.read()
fungsi ini. Kode ini hanya menuliskan apa pun yang diketik. Anda dapat menghilangkan loop sementara jika Anda hanya ingin mengambil input sekali, dan Anda dapat menyimpan jawaban dalam array karakter jika Anda memilihnya.sumber
Saya suka yang berikut ini:
dan misalnya, saya akan melakukan:
sumber
sumber
Anda bisa mendapatkan input pengguna menggunakan
Scanner
. Anda dapat menggunakan validasi input yang tepat menggunakan metode yang tepat untuk berbagai tipe data sepertinext()
untukString
ataunextInt()
untukInteger
.sumber
Cara paling sederhana untuk mendapatkan input pengguna adalah menggunakan Scanner. Berikut ini contoh bagaimana seharusnya digunakan:
Baris kode
import java.util.Scanner;
memberi tahu program bahwa programmer akan menggunakan input pengguna dalam kode mereka. Seperti dikatakan, itu mengimpor utilitas pemindai.Scanner sc=new Scanner(System.in);
memberitahu program untuk memulai input pengguna. Setelah Anda melakukannya, Anda harus membuat string atau integer tanpa nilai, lalu letakkan di barisa=sc.nextInt();
ataua=sc.nextLine();
. Ini memberikan variabel nilai input pengguna. Kemudian Anda dapat menggunakannya dalam kode Anda. Semoga ini membantu.sumber
sumber
sumber
args
tanpa memeriksa panjang array itu terlebih dahulu: downvote.java ex1
Entri keyboard menggunakan Scanner dimungkinkan, seperti yang diposkan orang lain. Tetapi dalam masa-masa yang sangat grafis ini tidak ada gunanya membuat kalkulator tanpa antarmuka pengguna grafis (GUI).
Di Jawa modern ini berarti menggunakan alat drag-and-drop JavaFX seperti Scene Builder untuk mengeluarkan GUI yang menyerupai konsol kalkulator. Perhatikan bahwa menggunakan Scene Builder secara intuitif mudah dan tidak memerlukan keterampilan Java tambahan untuk penangan acaranya yang mungkin sudah Anda miliki.
Untuk input pengguna, Anda harus memiliki TextField lebar di bagian atas konsol GUI.
Di sinilah pengguna memasukkan angka yang ingin mereka jalankan fungsinya. Di bawah TextField, Anda akan memiliki array tombol fungsi yang melakukan fungsi dasar (yaitu menambah / mengurangi / mengalikan / membagi dan memori / mengingat / menghapus). Setelah GUI dihilangkan, Anda kemudian dapat menambahkan referensi 'controller' yang menautkan setiap fungsi tombol ke implementasi Java-nya, misalnya panggilan ke metode di kelas controller proyek Anda.
Video ini agak lama tetapi masih menunjukkan betapa mudahnya Scene Builder digunakan.
sumber
Scanner
sangat baik untuk tersedia.