Hola que tal
Veran realizando una practica en java me surgio un problema y no se de que manera solucionarla por ello pido su ayuda. Lo que ocurre es lo siguiente nesesito que un programa sume una serie de n numeros introducidos por el usuario y bueno me parecio algo facil, sin embargo el problema surge ya que el programa debe de ser capas de atrapar los errores en tiempo de ejecucion Es decir cuando el usuario ingrese algo que no sea numero es decir otro tipo de dato este mande un mensaje de error y vuelva a preguntar otra vez el numero que desea ingresar
Llevo esta parte del codigo
import java.util.Scanner;
public class Excepciones
{
double arr[];
int cant;
double res;
double sum=0;
Scanner obj=new Scanner(System.in);
public void Excepciones ()
{
System.out.println("Cuantos numeros desea sumar");
cant=obj.nextInt();
arr=new double [cant];
for (int i=0;i<cant;i++)
{
System.out.println("Dame numero: ");
arr=obj.nextDouble();
}
System.out.print("Los datos ingresados son: ");
for(int i=0;i<cant;i++)
{
res=arr+sum;
sum=res;
System.out.print(arr+" ,");
}
System.out.print("\nLa suma de sus numeros es"+sum);
}
}
Y esta funcionando lo unico que me falta es que en caso de que el usuario no ingrese un numero le vuelva a pedir el dato
Googleando un muy buen rato logre dejarlo asi aun que no se bien como funciona les agradeceria si me lo pudieran explicar y solo funciona para la primera parte donde pide el tamaño del arreglo en el llenado del arraglo ni hay ningun cambio
package Excepciones;
import java.util.Scanner;
public class Excepciones
{
boolean numero =false;
double arr[];
int cant;
double res;
double sum=0;
Scanner obj=new Scanner(System.in);
public void Excepciones ()
{
do
{
System.out.println("Cuantos numeros desea sumar");
try
{
cant=Integer.parseInt(obj.next());
numero=true;
}
catch (NumberFormatException e)
{
System.out.println("Ingrese solo numeros enteros ");
}
}
while(numero==false);
arr=new double [cant];
for (int i=0;i<cant;i++)
{
System.out.println("Dame numero: ");
arr=obj.nextDouble();
}
for(int i=0;i<cant;i++)
{
res=arr+sum;
sum=res;
System.out.println(arr+" ,");
}
System.out.println("La suma de sus numeros es"+sum);
}
}
Veran realizando una practica en java me surgio un problema y no se de que manera solucionarla por ello pido su ayuda. Lo que ocurre es lo siguiente nesesito que un programa sume una serie de n numeros introducidos por el usuario y bueno me parecio algo facil, sin embargo el problema surge ya que el programa debe de ser capas de atrapar los errores en tiempo de ejecucion Es decir cuando el usuario ingrese algo que no sea numero es decir otro tipo de dato este mande un mensaje de error y vuelva a preguntar otra vez el numero que desea ingresar
Llevo esta parte del codigo
import java.util.Scanner;
public class Excepciones
{
double arr[];
int cant;
double res;
double sum=0;
Scanner obj=new Scanner(System.in);
public void Excepciones ()
{
System.out.println("Cuantos numeros desea sumar");
cant=obj.nextInt();
arr=new double [cant];
for (int i=0;i<cant;i++)
{
System.out.println("Dame numero: ");
arr=obj.nextDouble();
}
System.out.print("Los datos ingresados son: ");
for(int i=0;i<cant;i++)
{
res=arr+sum;
sum=res;
System.out.print(arr+" ,");
}
System.out.print("\nLa suma de sus numeros es"+sum);
}
}
Y esta funcionando lo unico que me falta es que en caso de que el usuario no ingrese un numero le vuelva a pedir el dato
Googleando un muy buen rato logre dejarlo asi aun que no se bien como funciona les agradeceria si me lo pudieran explicar y solo funciona para la primera parte donde pide el tamaño del arreglo en el llenado del arraglo ni hay ningun cambio
package Excepciones;
import java.util.Scanner;
public class Excepciones
{
boolean numero =false;
double arr[];
int cant;
double res;
double sum=0;
Scanner obj=new Scanner(System.in);
public void Excepciones ()
{
do
{
System.out.println("Cuantos numeros desea sumar");
try
{
cant=Integer.parseInt(obj.next());
numero=true;
}
catch (NumberFormatException e)
{
System.out.println("Ingrese solo numeros enteros ");
}
}
while(numero==false);
arr=new double [cant];
for (int i=0;i<cant;i++)
{
System.out.println("Dame numero: ");
arr=obj.nextDouble();
}
for(int i=0;i<cant;i++)
{
res=arr+sum;
sum=res;
System.out.println(arr+" ,");
}
System.out.println("La suma de sus numeros es"+sum);
}
}