Uso de la clase de escáner en Java para obtener dígitos específicos de un número entero [duplicado] -- java campo con java.util.scanner camp Relacionados El problema

Using the Scanner class in Java to get specific digits of an integer [duplicate]


2
vote

problema

Español
Esta pregunta ya tiene respuestas aquí :
¿Cómo obtener los dígitos separados de un número INT? (32 respuestas)
Cerrado Hace 4 años .

Acabo de empezar a aprender Java (dos meses y contar), y todavía tengo muchas preguntas y mucho para aprender. En este momento, quiero usar la clase Scanner4 para "dividir" un entero en sus dígitos. Me explicaré mejor con un ejemplo:

Solicito al usuario que escriba un entero de cuatro dígitos, digamos 8919 . Lo que quiero hacer es usar la clase Scanner6 para dividir ese entero y asignar cada uno de sus dígitos a una variable; I.E. a = 8 , b = 9 , c = 1 y Magento0 .

Sabes positivamente que se puede hacer y que la clase Magento1111 es el camino a seguir. Simplemente no sé cómo usarlo correctamente. ¿Puede un noob necesitar obtener ayuda aquí? ¡Gracias!

Editar: La sugerencia que se ha realizado no coincide con mi pregunta específica. En ese hilo, la clase Magento2 no se usa para separar el entero en los dígitos. Especificado que quería usar la clase Scanner13 porque muchos métodos diferentes utilizados todavía están más allá de mi nivel. De todos modos, hay muchas ideas interesantes en ese hilo que espero poder usarlo más tarde, así que gracias de todos modos.

Original en ingles

I just started learning Java (two months and counting), and I still have lots of questions and a whole lot to learn. Right now I want to use the Scanner class to "divide" an integer into its digits. I'll explain myself better with an example:

I request the user to type a four-digit integer, say 8919. What I want to do is to use the Scanner class to divide that integer and to assign each one of its digits to a variable; i.e. a = 8, b = 9, c = 1 and d = 9.

I positively know that it can be done and that the Scanner class is the way to go. I just don't know how to properly use it. Can a noob in need get some help here? Thanks!

EDIT:The suggestion that has been made does not match my specific question. In that thread the class Scanner is not used to separate the integer into digits. I specified i wanted to use the Scannerclass because many different methods used there are still way beyond my level. Anyway, there are lots of interesting ideas in that thread that i hope i will be able to use later, so thanks anyway.

     
   
   

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

Puede usar un delimitador con el escáner. Puede usar una cadena vacía como delimitador para este caso.

  String input = "8919"; Scanner s = new Scanner(input).useDelimiter(""); a = s.nextInt(); b = s.nextInt(); c = s.nextInt(); d = s.nextInt(); s.close();    
 

You can use a delimiter with the scanner. You can use an empty string as delimiter for this case.

String input = "8919"; Scanner s = new Scanner(input).useDelimiter(""); a = s.nextInt(); b = s.nextInt(); c = s.nextInt(); d = s.nextInt(); s.close();  
 
 
 
 
0
 
vote

Debe leer el número entero como número completo y almacenarlo en una variable. Después de guardarlo, puedes dividirlo. Otra forma es tan almacenarlo como una cuerda y luego dividir la cadena. Lo que debe elegir depende de lo que desea hacer con él después

 

you should read the integer as whole number and store it in a variable. after you stored it you can split it up. other way is so store it as string and then split the string. what you should choose depends on what youwant to do with it afterwards

 
 
0
 
vote

Intenta esto:

  import java.util.Scanner;  public class ScannerToTest {      public static void main(String[] args) {          int a,b,c,d;          System.out.print("Please enter a 4 digit number : ");         Scanner scanner = new Scanner(System.in);         int number = scanner.nextInt();          String numberToString = String.valueOf(number);          if(numberToString.length() == 4) {             String numberArray [] = numberToString.split("");             a = Integer.parseInt(numberArray[1]);             b = Integer.parseInt(numberArray[2]);             c = Integer.parseInt(numberArray[3]);             d = Integer.parseInt(numberArray[4]);             System.out.println("Value of a is : " + a);             System.out.println("Value of b is : " + b);             System.out.println("Value of c is : " + c);             System.out.println("Value of d is : " + d);         }else {             System.out.println("Numbers beyond 4 digits are disallowed!");         }      }  }   
 

Try this:

import java.util.Scanner;  public class ScannerToTest {      public static void main(String[] args) {          int a,b,c,d;          System.out.print("Please enter a 4 digit number : ");         Scanner scanner = new Scanner(System.in);         int number = scanner.nextInt();          String numberToString = String.valueOf(number);          if(numberToString.length() == 4) {             String numberArray [] = numberToString.split("");             a = Integer.parseInt(numberArray[1]);             b = Integer.parseInt(numberArray[2]);             c = Integer.parseInt(numberArray[3]);             d = Integer.parseInt(numberArray[4]);             System.out.println("Value of a is : " + a);             System.out.println("Value of b is : " + b);             System.out.println("Value of c is : " + c);             System.out.println("Value of d is : " + d);         }else {             System.out.println("Numbers beyond 4 digits are disallowed!");         }      }  } 
 
 

Relacionados problema

27  Clase de lectura de clase de escáner Java  ( Java scanner class reading strings ) 
obtuve el siguiente código: int nnames; String names[]; System.out.print("How many names are you going to save: "); Scanner in = new Scanner(System.in); n...

0  Problemas con el orden de lectura de la siguiente línea con el escáner  ( Trouble with order of reading next line with scanner ) 
Estoy haciendo algún programa de Java básico usando 'escáner'. Leí entero, doble y de cuerda. Tengo algunos problemas con el uso del escáner para la cadena ...

6  ¿Cómo usar HasnTXT () de la clase del escáner?  ( How to use hasnext from the scanner class ) 
Formato de entrada Lea algunas líneas de entrada NO desconocidas de stdin(System.in) hasta que llegue a EOF; Cada línea de entrada contiene una cadena n...

3  Entrada en blanco del escáner - Java  ( Blank input from scanner java ) 
Lo que estoy tratando de hacer es si el usuario hace clic en la tecla ENTER, el programa debería lanzar una baduserInputexception. Mi problema es cada vez que...

0  Almacene ints en la matriz de un archivo y encuentre primos java  ( Store ints into array from a file and find primes java ) 
En este programa interactivo, encontrará un menú con opciones para realizar diferentes funciones en una matriz. Esta matriz se toma de un archivo llamado "Dat...

-2  Uso de la clase de escáner dentro de un método  ( Using scanner class within a method ) 
import java.util.Scanner; public class Tutorials { public static void main(String[] args) { Car Vehicle = new Car(); Vehicle.supboys();...

0  Extraer cadenas de datos de un archivo .txt  ( Extracting strings of data from a txt file ) 
Cuando ingrese un archivo e intente extraer las cadenas impresas y se dobla de ella, termino extrayendo información en el texto en sí. Inserté un sistema.Out....

5  ¿Puede saltar un escáner a una ubicación en el archivo o escanear hacia atrás?  ( Can you jump a scanner to a location in file or scan backwards ) 
Tengo un archivo de texto muy grande y necesito recopilar datos de algún lugar cerca del final. Tal vez el escáner no sea la mejor manera de hacer esto, pero ...

-1  Entrada de usuario y excepción en Java  ( User input and exception in java ) 
Quiero agregar un número entero a una lista basada en la entrada del usuario. El usuario tiene que escribir todos los enteros que desea, luego presione ENTER....

4  Clase de escáner de Java Clase de lectura [duplicado]  ( Java scanner class reading strings ) 
Esta pregunta ya tiene respuestas aquí : Clase de la clase de escáner de JAVA ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos