ejemplo java return digits

java - ejemplo - Obtiene el último dígito de un número



radio button java eclipse (12)

Necesito definir el último dígito de un número asignarlo a valor. Después de esto, devuelve el último dígito.

Mi fragmento de código no funciona correctamente ...

Código:

public int lastDigit(int number) { //your code goes here. String temp = Integer.toString(number); int[] guess = new int[temp.length()]; int last = guess[temp.length() - 1]; return last; }

Pregunta:

  • ¿Cómo resolver este problema?

A continuación se muestra una solución más sencilla sobre cómo obtener el último dígito de un int :

public int lastDigit(int number) { return number % 10; }


Acaba de crear una matriz de enteros vacía. La guess matriz no contiene nada que yo sepa. El resto deberías trabajar para mejorar.


Aunque la mejor manera de hacerlo es usar% si insiste en usar cadenas, esto funcionará

public int lastDigit(int number) { return Integer.parseInt(String.valueOf(Integer.toString(number).charAt(Integer.toString(number).length() - 1))); }

pero acabo de escribir esto para completar. No utilice este código. es simplemente horrible


No hay necesidad de utilizar ninguna strings Está sobre carga.

int i = 124; int last= i%10; System.out.println(last); //prints 4


Otra forma interesante de hacerlo que también permitiría tomar más que solo el último número sería:

int number = 124454; int overflow = (int)Math.floor(number/(1*10^n))*10^n; int firstDigits = number - overflow; //Where n is the number of numbers you wish to conserve</code>

En el ejemplo anterior, si n era 1, el programa volvería: 4

Si n fuera 3, entonces el programa devolvería 454.


Sólo regreso (number % 10) ; Es decir, tomar el módulo. Esto será mucho más rápido que analizar dentro y fuera de una cadena.

Si el number puede ser negativo, utilice (Math.abs(number) % 10);


Sin utilizar ''%'' .

public int lastDigit(int no){ int n1 = no / 10; n1 = no - n1 * 10; return n1; }


Tu matriz no tiene inicialización. Así que le dará valor por defecto a cero. Puedes probar así también

String temp = Integer.toString(urNumber); System.out.println(temp.charAt(temp.length()-1));


Use StringUtils, en caso de que necesite un resultado de cadena:

String last = StringUtils.right(number.toString(), 1);



aquí está tu método

public int lastDigit(int number) { //your code goes here. int last =number%10; return last; }


public static void main (String [] args) {

System.out.println(lastDigit(2347)); } public static int lastDigit(int number) { //your code goes here. int last = number % 10; return last; }

0 / p:

7