style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Necesito de su ayuda compañeros

Hola Buen Dia o Tarde segun me lean soy nuevo en java y poco a poco he empesado a empaparme ahora eoy trabado con el try y catch que mi programa ejecute una eception cuando introduscan mal un dato si es int que sea int y no String u otro tipo como puedo hacer eso les dejo mi codigo y cualquier comentario bueno o malo sera muy bien recibido

public class Computadora {
   
//DEFINICION DE ATRIBUTOS

    private String Marca;

    private String Modelo;

    private double Precio;

    private String color;

    private String Procesador;

    private String DiscoDuro;

    private String MemoriaRam;

    private int NumSerie;

   

  //DEFINICION DE LOS METDOS SET Y GET

   public void setMarca(String Marca)

   {

       this.Marca=Marca;

   }

   

   public String getMarca()

   {

       return this.Marca;

   }

   public String getModelo() {

        return Modelo;

    }

   public void setModelo(String Modelo) {

        this.Modelo = Modelo;

    }

    public double getPrecio() {

        return Precio;

    }

    public void setPrecio(double Precio) {

        this.Precio = Precio;

    }

    public String getColor() {

        return color;

    }

    public void setColor(String color) {

        this.color = color;

    }

    public String getProcesador() {

        return Procesador;

    }

    public void setProcesador(String Procesador) {

        this.Procesador = Procesador;

    }

    public String getDiscoDuro() {

        return DiscoDuro;

    }

    public void setDiscoDuro(String DiscoDuro) {

        this.DiscoDuro = DiscoDuro;

    }

    public String getMemoriaRam() {

        return MemoriaRam;

    }

    public void setMemoriaRam(String MemoriaRam) {

        this.MemoriaRam = MemoriaRam;

    }

   

   //CREACION DE CONSTRUCTORES

    public Computadora()

    {

    this.NumSerie=0;

    this.Marca="HP";

    this.Modelo="pavilion";

    this.Precio=10000;

    this.color="Amarilla";

    this.Procesador="AMD Athlon";

    this.DiscoDuro="1Tb";

    this.MemoriaRam="4 Gb";

    }

   

    public Computadora(int nSerie,String Marca,String Modelo,double Precio,String color,String

Procesador,String DiscoDuro,String MemoriaRam)

    {

    this.NumSerie=nSerie;

     this.Marca=Marca;

    this.Modelo=Modelo;

    this.Precio=Precio;

    this.color=color;

    this.Procesador=Procesador;

    this.DiscoDuro=DiscoDuro;

    this.MemoriaRam=MemoriaRam;

    }

   

    //METODOS DE LA CLASE

    public String devolverDatos()

    {

        return  " Marca:"+this.Marca+
                " Modelo:"+this.Modelo+
                " Precio:"+this.Precio+
                " Color:"+this.color+
                " Procesador:"+this.Procesador+
                " DiscoDuro:"+this.DiscoDuro+
                " MemoriaRam:"+this.MemoriaRam;

    }

    public int getNumSerie() {

        return NumSerie;

    }

    public void setNumSerie(int NumSerie) {

        this.NumSerie = NumSerie;

    }
}

Cidigo principal

import java.io.IOException;
import java.util.Scanner;

/**
 *
 * @author K008C
 */

public class InterfaceComputadora {

   private  static int contador_reg=0;

    private static int reg_prueba=3;

    public static void main(String [] args)

    {

      Computadora [] tienda=new Computadora[reg_prueba];  

     Scanner lectura=new Scanner(System.in);

     int resp,dato,valor;

      do

      {

        menu();

        resp=lectura.nextInt();

        switch(resp)

        {

            case 1:{

                      System.out.println("OPCION ALTAS DE COMPUTADORAS");

                      if(contador_reg>=reg_prueba)

                      {

                          System.out.println("No se puede almacenar mas");

                      }

                      else

                      {

                        System.out.println("\nRegistros Actuales:"+contador_reg);

                       altasComputadoras(tienda);

                       System.out.println("\n\nRegistros Actuales:"+contador_reg);

                      }

                      break;

                      }

            case 2:{

                      System.out.println("OPCION BAJAS DE COMPUTADORAS");

                      bajaComputadora(tienda);

                      System.out.println("REGISTRO BORRADO");

                      break;

                      }

            case 3:{

                     System.out.println("OPCION CONSULTA DE COMPUTADORAS");

                     System.out.println("Escribe el numero de serie a Buscar:");

                     dato=lectura.nextInt();

                     valor=consultaComputadora(tienda,dato);

                     if(valor==0)

                     {

                         System.out.println("NO SE ENCONTRO EL NUMERO DE SERIE");

                     }

                     break;

                      }

             case 4:{

                      System.out.println("OPCION LISTADO GRAL. DE COMPUTADORAS");

                     listadoComputadoras(tienda);

                     System.out.println("Numero de registros total:"+contador_reg);

                      break;

                      }

        case 5:{
                 System.out.println("OPCION DE GARDAR ARCHIVO TXT");
                 break;
             }
       
        case 6:{
                 System.out.println("OPCION DE GARDAR ARCHIVO TXT");
                 break;
             }

        }

      }while(resp!=7);
    }

   
    public static void menu()

    {

        System.out.println("SISTEMAS DE  COMPUTADORAS");

        System.out.println("1.-Alta de Computadoras");

        System.out.println("2.-Bajas de Computadoras");

        System.out.println("3.-Consultar Computadora");

        System.out.println("4.-Listado General de Computadoras");

        System.out.println("5.-GUARDAR DATOS EN UN ARCHIVO TXT");
       
        System.out.println("6.-LEER DATOS DESDE ARCHIVO TXT");
       
        System.out.println("7.-Salir");

        System.out.println("Seleccione la opcion que desee:");

    }//TERMNA EL  METODO MENU

   
    public static void altasComputadoras(Computadora [] c)

    {

    String Marca, Modelo,color,Procesador,DiscoDuro,MemoriaRam;
    int nSerie=1;
         

    double Precio=1.0;

           

     Scanner lectura=new Scanner(System.in);
     
       try {
     
     System.out.println("Escriba el Numero de Serie de la Computadora:");
     
     
     nSerie=lectura.nextInt();
     
       }catch (java.util.InputMismatchException e) {  
           
        System.out.println("INGRESE SOLO NUMEROS ENTEROS");
       
       lectura.nextLine();
               menu();

       }
   
     System.out.println("Escriba la marca de la Computadora:");

     Marca=lectura.next();

     System.out.println("Escriba el modelo de la Computadora:");

     Modelo=lectura.next();
       
       try {
     System.out.println("Escriba el precio de la Computadora:");

     Precio=lectura.nextDouble();
 }catch (java.util.InputMismatchException e) {  
           
        System.out.println("NO INGRESAR TEXTO");
        menu();
           
       }
   
     System.out.println("Escriba el color de la Computadora:");

     color=lectura.next();

     System.out.println("Escriba el procesador de la Computadora:");

     Procesador=lectura.next();

     System.out.println("Escriba el tamaño del DD de la Computadora:");

     DiscoDuro=lectura.next();

     System.out.println("Escriba el tamaño de Mem Ram de la Computadora:");

     MemoriaRam=lectura.next();

     Computadora c1=new

Computadora(nSerie,Marca,Modelo,Precio,color,Procesador,DiscoDuro,MemoriaRam);

     c[contador_reg]=c1;

     contador_reg=contador_reg+1;  

    }

   
    public static void bajaComputadora(Computadora [] c)

    {
        int i,valor,posicion;

        Scanner lectura=new Scanner(System.in);

        System.out.println("Escribe el numero de serie a borrar");

        valor=lectura.nextInt();

        posicion=consultaComputadora(c,valor);

        if(posicion==0)

        {

            System.out.println("No se encontro el elemento");
        }

        else

        {
            c[posicion].setNumSerie(9999);

            contador_reg=contador_reg-1;

        }

    }

   
    public static int consultaComputadora(Computadora [] c, int valor)

    {

        int i,dato=0;

        for(i=0;i<reg_prueba;i++)

        {

            if(c[i].getNumSerie()==valor)

            {

                dato=i;

                System.out.println(c[i].devolverDatos());

             }

        }

        return dato;

    }//termina el metod de consulta computadora

 
    public static void listadoComputadoras(Computadora [] c)

    {

        int i;

            for(i=0;i<reg_prueba;i++)

        {

         if(c[i].getNumSerie()!=9999)

         {

             System.out.println(c[i].devolverDatos());
           
         }

        }

    }
}

y como dato las opciones 5 y 6 aun no las genero pero igual si gustan cooperar se los agradesere , de antemano muchas gracias

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Sr. Negativo

Re: necesito su ayuda compañeros

Ya habías posteado este problema: http://www.javamexico.org/foros/java_standard_edition/buen_dia_companeros_necesito_de_su_ayuda

En ese post te comente que te faltaba la clase Cliente, además que no tienes la función de guardar, entre otras cosas más.

Imagen de zaskiel

con respeto te contesto compa

Amigo es otro código a demás no tienen nada que la clase cliente aquí gracias por tu comentario pero no va con el tema gracias por tu interés pero no tiene nada que ver con la ayuda que solicite y ni siquiera fuiste digno para leer el post

Strings in switch

 

Si estás utilizando Java 7, tal vez quieras utilizar Strings in switch Statements. Por ejemplo:

public static void main(String[] args) {
    try (Scanner sc = new Scanner(System.in)) {
        String option;
        do {
            System.out.println("Select one option:");
            System.out.println("1 Say \"Hello!\"");
            System.out.println("2 Say \"How are you?\"");
            System.out.println("3 End");
            System.out.print("> ");
            option = sc.nextLine();
            switch (option) {
                case "1":
                    System.out.println("Hello!");
                    break;
                case "2":
                    System.out.println("How are you?");
                    break;
                case "3":
                    System.out.println("The End!");
                    break;
                default:
                    System.out.println("Invalid option! Try again.");
                    break;
            }
        } while (!option.equals("3"));
    }
}

~~~

Leer líneas completas

 

Adicionalmente, yo te recomiendo que leas líneas completas cada vez. Aunque java.util.Scanner tiene métodos muy convenientes para leer enteros o flotantes, yo únicamente te los recomendaría si tuvieses una entrada libre de escoria (algo similar se recomienda para la función scanf de C).

Podrías echar mano de las expresiones regulares para verificar que la entrada contenga los caracteres deseados. Ejemplo:

Código:

public static void main(String[] args) {
    try (Scanner sc = new Scanner(System.in)) {
        System.out.printf("Number: %d%n", readInt(sc));
        System.out.printf("Price: %f%n", readDouble(sc));
    }
}

public static int readInt(Scanner sc) {
    String input;
    do {
        input = sc.nextLine();
        if (!input.matches("\\d+")) {
            System.out.printf("\"%s\"? Huh? - Please enter an integer: ", input);
        }
    } while(!input.matches("\\d+"));
    return Integer.parseInt(input);
}

public static double readDouble(Scanner sc) {
    String input;
    do {
        input = sc.nextLine();
        if (!input.matches("[0-9]*\\.?[0-9]+")) {
            System.out.printf("\"%s\"? Huh? - Please enter an double: ", input);
        }
    } while(!input.matches("[0-9]*\\.?[0-9]+"));
    return Double.parseDouble(input);
}

Posible salida:

abc
"abc"? Huh? - Please enter an integer:
""? Huh? - Please enter an integer: 1.0
"1.0"? Huh? - Please enter an integer: 1
Number: 1
abc
"abc"? Huh? - Please enter a double: -1
"-1"? Huh? - Please enter a double: 1
Price: 1.000000

¡Por si sirve de algo!

~~~

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">