Euh, quelle est ta question? Vous venez de publier du code et dites que vous n'aimez pas les pointeurs. Ne pas comprendre les pointeurs peut toujours revenir vous mordre en java si vous ne comprenez pas passer par référence et passer par valeur.
Scott
4
vous devriez essayer d'apprendre java en lisant un livre, Java How to Program, 7 / e is a nice one
Marco Aviles
Réponses:
334
Vous pouvez utiliser l'une des options suivantes en fonction des exigences.
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();
La readLineméthode de la DataInputStreamclasse est obsolète . Pour obtenir la valeur de chaîne, vous devez utiliser la solution précédente avec BufferedReader
Notez que DataInputStreamc'est pour lire des données binaires. L' utilisation readIntde System.inne pas analyser un nombre entier à partir des données de caractères, il sera plutôt réinterpréter les valeurs unicode et non - sens de retour. Voir DataInput#readIntpour plus de détails ( DataInputStreamoutils DataInput).
Radiodef
3
c'est super, j'aimerais voir les importations requises ajoutées pour être complet. Cela aiderait aussi vraiment ceux qui en ont besoin.
KnightHawk
1
Cette réponse serait beaucoup plus utile si elle mentionnait quelles étaient réellement les exigences. J'ai commencé une prime pour essayer de résoudre ce problème.
temporaire_user_name
405
L'un des moyens les plus simples consiste à utiliser un Scannerobjet comme suit:
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();
Vous pouvez créer un programme simple pour demander le nom de l'utilisateur et imprimer ce que la réponse utilise.
Ou demandez à l'utilisateur d'entrer deux nombres et vous pouvez ajouter, multiplier, soustraire ou diviser ces nombres et imprimer les réponses pour les entrées utilisateur, tout comme le comportement d'une calculatrice.
Vous avez donc besoin de la classe Scanner. Vous devez import java.util.Scanner;et dans le code que vous devez utiliser
Scanner input =newScanner(System.in);
L'entrée est un nom de variable.
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
Les deux meilleures options sont BufferedReaderet Scanner.
La méthode la plus largement utilisée est Scanneret je la préfère personnellement en raison de sa simplicité et de sa mise en œuvre facile, ainsi que de sa puissante utilité pour analyser le texte en données primitives.
Avantages de l'utilisation du scanner
Facile à utiliser la Scannerclasse
Saisie facile des nombres (int, court, octet, flottant, long et double)
Les exceptions ne sont pas vérifiées, ce qui est plus pratique. Il appartient au programmeur d'être civilisé et de spécifier ou d'intercepter les exceptions.
Est capable de lire les lignes, les espaces blancs et les jetons délimités par des expressions rationnelles
Avantages de BufferedInputStream
BufferedInputStream consiste à lire des blocs de données plutôt qu'un seul octet à la fois
Peut lire les caractères, les tableaux de caractères et les lignes
Globalement, chaque méthode d'entrée a des objectifs différents.
Si vous saisissez une grande quantité de données, cela BufferedReaderpourrait être mieux pour vous
Si vous entrez de nombreux nombres, Scannerl'analyse automatique est très pratique
Pour des utilisations plus basiques, je recommanderais le Scannercar il est plus facile à utiliser et plus facile à écrire avec des programmes. Voici un exemple rapide de création d'un fichier Scanner. Je vais fournir un exemple complet ci-dessous de la façon d'utiliser leScanner
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}}
Remarque: D'autres classes telles que Consoleet DataInputStreamsont également des alternatives viables.
Consolea quelques fonctionnalités puissantes telles que la capacité de lire les mots de passe, cependant, n'est pas disponible dans tous les IDE (comme Eclipse). La raison en est que Eclipse exécute votre application en tant que processus d'arrière-plan et non en tant que processus de niveau supérieur avec une console système. Voici un lien vers un exemple utile sur la façon d'implémenter la Consoleclasse.
DataInputStreamest principalement utilisé pour lire l'entrée en tant que type de données primitif, à partir d'un flux d'entrée sous-jacent, d'une manière indépendante de la machine. DataInputStreamest généralement utilisé pour lire des données binaires. Il fournit également des méthodes pratiques pour lire certains types de données. Par exemple, il a une méthode pour lire une chaîne UTF qui peut contenir n'importe quel nombre de lignes.
Cependant, c'est une classe plus compliquée et plus difficile à implémenter, donc déconseillée aux débutants. Voici un lien vers un exemple utile pour implémenter un DataInputStream.
Je vais aller de l'avant et appeler le gagnant ici. Généralement une très bonne réponse, même si j'aurais souhaité que cela soit plus approfondi lorsque je voudrais l'utiliser DataInputStream- la description là-bas semble identique au cas d'utilisation pour Scanner: lire les données dans des primitives. De plus, si quelqu'un est à un stade où il ne sait pas comment obtenir les commentaires des utilisateurs, il est fort probable qu'il ne comprenne pas non plus pourquoi certaines parties de la bibliothèque standard ne seraient pas disponibles dans certains IDE. C'est certainement le cas pour moi - pourquoi n'est-il Consolepas disponible?
Parfait. Maintenant, c'est exactement la réponse dont cette question avait besoin depuis le début. Si seulement il y avait un moyen de l'obtenir au sommet.
temporaire_user_name
Eh bien, toute personne désireuse de faire défiler vers le bas obtiendra une bonne réponse et lentement, elle montera :)
Ici, le programme demande à l'utilisateur d'entrer un numéro. Après cela, le programme imprime les chiffres du nombre et la somme des chiffres.
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);}}
Comment les données sont-elles acceptées à partir du clavier?
Nous avons besoin de trois objets,
System.in
InputStreamReader
BufferedReader
InputStreamReader et BufferedReader sont des classes du package java.io.
Les données sont reçues sous forme d'octets du clavier par System.in qui est un objet InputStream.
Ensuite, InputStreamReader lit les octets et les décode en caractères.
Enfin, l'objet BufferedReader lit le texte à partir d'un flux d'entrée de caractères, en tamponnant les caractères de manière à permettre une lecture efficace des caractères, des tableaux et des lignes.
Juste un détail supplémentaire. Si vous ne voulez pas risquer une fuite de mémoire / ressource, vous devez fermer le flux du scanner lorsque vous avez terminé:
myScanner.close();
Notez que java 1.7 et versions ultérieures interceptent cela comme un avertissement de compilation (ne me demandez pas comment je le sais :-)
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);}}
Voici une version plus développée de la réponse acceptée qui répond à deux besoins communs:
Collecte répétée des entrées utilisateur jusqu'à ce qu'une valeur de sortie ait été entrée
Traiter les valeurs d'entrée non valides (non entières dans cet exemple)
Code
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();}}
Exemple
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...
Notez que sans nextLine(), la mauvaise entrée déclenchera la même exception à plusieurs reprises dans une boucle infinie. Vous voudrez peut-être utiliser à la next()place en fonction des circonstances, mais sachez que l'entrée comme this has spacesgénérera plusieurs exceptions.
Il s'agit d'un code simple qui utilise la System.in.read()fonction. Ce code écrit juste ce qui a été tapé. Vous pouvez vous débarrasser de la boucle while si vous voulez simplement saisir une fois, et vous pouvez stocker les réponses dans un tableau de caractères si vous le souhaitez.
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...");}}}}
Vous pouvez obtenir l'entrée utilisateur à l'aide de Scanner. Vous pouvez utiliser la validation d'entrée appropriée en utilisant des méthodes appropriées pour différents types de données comme next()pour Stringou nextInt()pour 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();
Le moyen le plus simple d'obtenir les commentaires des utilisateurs serait d'utiliser le scanner. Voici un exemple de la façon dont il est censé être utilisé:
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();
La ligne de code import java.util.Scanner;indique au programme que le programmeur utilisera les entrées utilisateur dans son code. Comme il est dit, il importe l'utilitaire du scanner. Scanner sc=new Scanner(System.in);indique au programme de démarrer les entrées utilisateur. Après cela, vous devez créer une chaîne ou un entier sans valeur, puis les mettre dans la ligne a=sc.nextInt();ou a=sc.nextLine();. Cela donne aux variables la valeur des entrées utilisateur. Ensuite, vous pouvez l'utiliser dans votre code. J'espère que cela t'aides.
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
La saisie au clavier à l'aide du scanner est possible, comme d'autres l'ont signalé. Mais en ces temps très graphiques, il est inutile de faire une calculatrice sans interface utilisateur graphique (GUI).
En Java moderne, cela signifie utiliser un outil de glisser-déposer JavaFX comme Scene Builder pour disposer une interface graphique qui ressemble à la console d'une calculatrice. Notez que l'utilisation de Scene Builder est intuitivement facile et ne nécessite aucune compétence Java supplémentaire pour ses gestionnaires d'événements que ce que vous possédez déjà.
Pour l'entrée utilisateur, vous devriez avoir un large TextField en haut de la console GUI.
C'est là que l'utilisateur saisit les numéros sur lesquels il souhaite exécuter des fonctions. En dessous du TextField, vous auriez un tableau de boutons de fonction effectuant des fonctions de base (c'est-à-dire ajouter / soustraire / multiplier / diviser et mémoire / rappeler / effacer). Une fois l'interface graphique déployée, vous pouvez ensuite ajouter les références «contrôleur» qui lient chaque fonction de bouton à son implémentation Java, par exemple un appel à la méthode dans la classe de contrôleur de votre projet.
Cette vidéo est un peu ancienne mais montre toujours à quel point Scene Builder est facile à utiliser.
Cette réponse a été rejetée - aucune raison donnée. Pour moi, c'est le seul moyen utilisable pour obtenir une entrée utilisateur dans une application Java.
Trunk
C'est très utile et je ne vois pas pourquoi cela a été rejeté. Cependant, les réponses actuelles et la déclaration de prime impliquent qu'ils recherchent une réponse pour les futurs utilisateurs qui souhaitent obtenir une entrée via une console.
JFreeman
Je ne vois tout simplement aucun utilisateur Java - sauf ceux coincés avec du code écrit dans les anciennes versions de Java - avoir une quelconque utilité pour la saisie au clavier du scanner. La dernière fois, je réponds à un message lié aux primes. . .
Trunk
Je comprends parfaitement votre plainte. Personnellement, je pense que votre réponse est très utile, donc je ne comprends pas pourquoi elle a été rejetée. Cependant, j'ai à maintes reprises écrit des programmes qui n'ont pas d'interface graphique et je pense donc que le bon code pour a Scannerest très bien disponible.
JFreeman
Si l'OP a déclaré qu'il s'agissait d'un processus à faible surcharge (intégré?) Avec un nombre d'E / S d'écran minimal ou nul, assez juste - le scanner est ce dont ils ont besoin. Mais ils n'ont rien dit de tel. Le PO nous a essentiellement demandé d'accepter que cette phrase, "saisie par l'utilisateur", suggère principalement la saisie au clavier ou bien nous a invité à interpréter la phrase par nous-mêmes. . .
Réponses:
Vous pouvez utiliser l'une des options suivantes en fonction des exigences.
Scanner
classeBufferedReader
etInputStreamReader
coursDataInputStream
classeLa
readLine
méthode de laDataInputStream
classe est obsolète . Pour obtenir la valeur de chaîne, vous devez utiliser la solution précédente avec BufferedReaderConsole
classeApparemment, cette méthode ne fonctionne pas bien dans certains IDE.
la source
DataInputStream
c'est pour lire des données binaires. L' utilisationreadInt
deSystem.in
ne pas analyser un nombre entier à partir des données de caractères, il sera plutôt réinterpréter les valeurs unicode et non - sens de retour. VoirDataInput#readInt
pour plus de détails (DataInputStream
outilsDataInput
).L'un des moyens les plus simples consiste à utiliser un
Scanner
objet comme suit:la source
Scanner reader1 = new Scanner(System.in);
?Vous pouvez utiliser la classe Scanner ou la classe Console
la source
Vous pouvez obtenir une entrée utilisateur à l'aide de
BufferedReader
.Il stockera une
String
valeur dansaccStr
vous devez donc l'analyser enint
utilisantInteger.parseInt
.la source
Voici comment obtenir les entrées clavier:
la source
Vous pouvez créer un programme simple pour demander le nom de l'utilisateur et imprimer ce que la réponse utilise.
Ou demandez à l'utilisateur d'entrer deux nombres et vous pouvez ajouter, multiplier, soustraire ou diviser ces nombres et imprimer les réponses pour les entrées utilisateur, tout comme le comportement d'une calculatrice.
Vous avez donc besoin de la classe Scanner. Vous devez
import java.util.Scanner;
et dans le code que vous devez utiliserL'entrée est un nom de variable.
Voyez comment cela diffère:
input.next();
,i = input.nextInt();
,d = input.nextDouble();
Selon une chaîne, int et un double varient de la même manière pour le reste. N'oubliez pas la déclaration d'importation en haut de votre code.
Voir également le billet de blog "Classe du scanner et obtention des entrées utilisateur" .
la source
Les deux meilleures options sont
BufferedReader
etScanner
.La méthode la plus largement utilisée est
Scanner
et je la préfère personnellement en raison de sa simplicité et de sa mise en œuvre facile, ainsi que de sa puissante utilité pour analyser le texte en données primitives.Avantages de l'utilisation du scanner
Scanner
classeAvantages de BufferedInputStream
Scanner
entre les threads )Globalement, chaque méthode d'entrée a des objectifs différents.
Si vous saisissez une grande quantité de données, cela
BufferedReader
pourrait être mieux pour vousSi vous entrez de nombreux nombres,
Scanner
l'analyse automatique est très pratiquePour des utilisations plus basiques, je recommanderais le
Scanner
car il est plus facile à utiliser et plus facile à écrire avec des programmes. Voici un exemple rapide de création d'un fichierScanner
. Je vais fournir un exemple complet ci-dessous de la façon d'utiliser leScanner
(Pour plus d' informations sur les
BufferedReader
voir Comment utiliser un BufferedReader et voir les lignes de lecture de Chars )java.util.Scanner
Remarque: D'autres classes telles que
Console
etDataInputStream
sont également des alternatives viables.Console
a quelques fonctionnalités puissantes telles que la capacité de lire les mots de passe, cependant, n'est pas disponible dans tous les IDE (comme Eclipse). La raison en est que Eclipse exécute votre application en tant que processus d'arrière-plan et non en tant que processus de niveau supérieur avec une console système. Voici un lien vers un exemple utile sur la façon d'implémenter laConsole
classe.DataInputStream
est principalement utilisé pour lire l'entrée en tant que type de données primitif, à partir d'un flux d'entrée sous-jacent, d'une manière indépendante de la machine.DataInputStream
est généralement utilisé pour lire des données binaires. Il fournit également des méthodes pratiques pour lire certains types de données. Par exemple, il a une méthode pour lire une chaîne UTF qui peut contenir n'importe quel nombre de lignes.Cependant, c'est une classe plus compliquée et plus difficile à implémenter, donc déconseillée aux débutants. Voici un lien vers un exemple utile pour implémenter un
DataInputStream
.la source
DataInputStream
- la description là-bas semble identique au cas d'utilisation pourScanner
: lire les données dans des primitives. De plus, si quelqu'un est à un stade où il ne sait pas comment obtenir les commentaires des utilisateurs, il est fort probable qu'il ne comprenne pas non plus pourquoi certaines parties de la bibliothèque standard ne seraient pas disponibles dans certains IDE. C'est certainement le cas pour moi - pourquoi n'est-ilConsole
pas disponible?try-with-resource
le rendrait meilleur.Ici, le programme demande à l'utilisateur d'entrer un numéro. Après cela, le programme imprime les chiffres du nombre et la somme des chiffres.
la source
Pour lire une ligne ou une chaîne, vous pouvez utiliser un
BufferedReader
objet combiné avec unInputStreamReader
comme suit:la source
Voici votre programme de la question en utilisant
java.util.Scanner
:la source
Scanner
objets; une aurait suffi.Utilisez la
System
classe pour obtenir l'entrée.http://fresh2refresh.com/java-tutorial/java-input-output/ :
la source
System.in
(dans la première ligne de code) aura le capitalS
pour le nom de classe.la source
Juste un détail supplémentaire. Si vous ne voulez pas risquer une fuite de mémoire / ressource, vous devez fermer le flux du scanner lorsque vous avez terminé:
Notez que java 1.7 et versions ultérieures interceptent cela comme un avertissement de compilation (ne me demandez pas comment je le sais :-)
la source
la source
la source
Voici une version plus développée de la réponse acceptée qui répond à deux besoins communs:
Code
Exemple
Notez que sans
nextLine()
, la mauvaise entrée déclenchera la même exception à plusieurs reprises dans une boucle infinie. Vous voudrez peut-être utiliser à lanext()
place en fonction des circonstances, mais sachez que l'entrée commethis has spaces
générera plusieurs exceptions.la source
Ajouter à
throws IOException
côtémain()
, puisla source
Il est très simple d'obtenir des entrées en java, tout ce que vous avez à faire est de:
la source
la source
Vous pouvez obtenir une entrée utilisateur comme celle-ci en utilisant un BufferedReader:
Voici comment vous les appliquez
Ainsi, lorsque l'utilisateur saisit son nom dans la console, "String name" stockera ces informations.
Si c'est un numéro que vous souhaitez stocker, le code ressemblera à ceci:
Espérons que cela aide!
la source
Peut être quelque chose comme ça ...
la source
Il s'agit d'un code simple qui utilise la
System.in.read()
fonction. Ce code écrit juste ce qui a été tapé. Vous pouvez vous débarrasser de la boucle while si vous voulez simplement saisir une fois, et vous pouvez stocker les réponses dans un tableau de caractères si vous le souhaitez.la source
J'aime ce qui suit:
et par exemple, je ferais:
la source
la source
Vous pouvez obtenir l'entrée utilisateur à l'aide de
Scanner
. Vous pouvez utiliser la validation d'entrée appropriée en utilisant des méthodes appropriées pour différents types de données commenext()
pourString
ounextInt()
pourInteger
.la source
Le moyen le plus simple d'obtenir les commentaires des utilisateurs serait d'utiliser le scanner. Voici un exemple de la façon dont il est censé être utilisé:
La ligne de code
import java.util.Scanner;
indique au programme que le programmeur utilisera les entrées utilisateur dans son code. Comme il est dit, il importe l'utilitaire du scanner.Scanner sc=new Scanner(System.in);
indique au programme de démarrer les entrées utilisateur. Après cela, vous devez créer une chaîne ou un entier sans valeur, puis les mettre dans la lignea=sc.nextInt();
oua=sc.nextLine();
. Cela donne aux variables la valeur des entrées utilisateur. Ensuite, vous pouvez l'utiliser dans votre code. J'espère que cela t'aides.la source
la source
la source
args
sans vérifier d'abord la longueur de ce tableau: downvote.java ex1
La saisie au clavier à l'aide du scanner est possible, comme d'autres l'ont signalé. Mais en ces temps très graphiques, il est inutile de faire une calculatrice sans interface utilisateur graphique (GUI).
En Java moderne, cela signifie utiliser un outil de glisser-déposer JavaFX comme Scene Builder pour disposer une interface graphique qui ressemble à la console d'une calculatrice. Notez que l'utilisation de Scene Builder est intuitivement facile et ne nécessite aucune compétence Java supplémentaire pour ses gestionnaires d'événements que ce que vous possédez déjà.
Pour l'entrée utilisateur, vous devriez avoir un large TextField en haut de la console GUI.
C'est là que l'utilisateur saisit les numéros sur lesquels il souhaite exécuter des fonctions. En dessous du TextField, vous auriez un tableau de boutons de fonction effectuant des fonctions de base (c'est-à-dire ajouter / soustraire / multiplier / diviser et mémoire / rappeler / effacer). Une fois l'interface graphique déployée, vous pouvez ensuite ajouter les références «contrôleur» qui lient chaque fonction de bouton à son implémentation Java, par exemple un appel à la méthode dans la classe de contrôleur de votre projet.
Cette vidéo est un peu ancienne mais montre toujours à quel point Scene Builder est facile à utiliser.
la source
Scanner
est très bien disponible.