Foros del Web » Programación para mayores de 30 ;) » Java »

Java ingles tabla de verbos

Estas en el tema de Java ingles tabla de verbos en el foro de Java en Foros del Web. Hola buenas soy principiante en java Y me gustaría crear un programa de prueba muy básico. En modo comando. Te pide que escribas un verbo ...
  #1 (permalink)  
Antiguo 10/10/2013, 03:28
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 12 años
Puntos: 1
Información Java ingles tabla de verbos

Hola buenas soy principiante en java

Y me gustaría crear un programa de prueba muy básico.

En modo comando. Te pide que escribas un verbo irregular en ingles y luego te muestre ese verbo en pasado el pasado participio y la traducción a español.

Sólo que no se como almacenar los verbos.

Por ejemplo con 3 verbos:
write cut have

Tendría que almacenar su infinitivo su pasado su participio y su traducción.
Había pensado en un matriz de [2][3] en este caso por que hay sólo tres verbos disponibles.

Pero no se añadirlos al matriz por que algo así no funciona
verbo[0][0]=write
verbo[0][1]= wrote
verbo[0][2]= written

Luego tampoco se una vez que el usuario escriba el verbo por ejemplo write este acceda al matriz
verbo[0][*]
por asi llamarlo

Me hariais un gran favor si despejaseis mis dudas
Gracias de antemano
Un saludo
  #2 (permalink)  
Antiguo 10/10/2013, 05:15
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Java ingles tabla de verbos

Estás trabajando con orientación a objetos, así que lo correcto es que crees una clase Verbo que contenga la información que necesites. De esa forma no necesitas más que una List o Map de objetos Verbo, no una matriz..

Para recuperar el objeto que buscas de la lista y dependiendo del método de almacenamiento tendrás que implementar cosas para la búsqueda.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 23/10/2013, 14:39
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 12 años
Puntos: 1
Respuesta: Java ingles tabla de verbos

Hola buenas he encontrado una solución pero no se si es la mas acertada

Me parece un poco tedioso quiza haya un metodo mas rapido y con mayor rendimiento

os paso el código en el cual lo he metido todo en la clase principal para ir al grano

Código:
import java.util.*;
public class arraylist 
{
	public static void main (String[] args)
	{
		String verb;
		int aux;
		
		ArrayList<String> write=new ArrayList<String>();
		write.add(0,"write");
		write.add(1,"wrote");
		write.add(2,"written");
		write.add(3,"escribir");
		
		write.add(4,"cut");
		write.add(5,"cut");
		write.add(6,"cut");
		write.add(7,"cortar");
		
		write.add(8,"be");
		write.add(9,"was,were");
		write.add(10,"been");
		write.add(11,"ser/estar");
		
		Scanner escribe=new Scanner(System.in);
		verb=escribe.next();
		if (verb.equalsIgnoreCase("write"))
		{
			System.out.print(write.get(0)+" ");
			System.out.print(write.get(1)+" ");
			System.out.print(write.get(2)+" ");
			System.out.print(write.get(3)+" ");
		}
		if (verb.equalsIgnoreCase("cut"))
		{
			System.out.print(write.get(4)+" ");
			System.out.print(write.get(5)+" ");
			System.out.print(write.get(6)+" ");
			System.out.print(write.get(7)+" ");
		}
		
		if (verb.equalsIgnoreCase("be"))
		{
			System.out.print(write.get(8)+" ");
			System.out.print(write.get(9)+" ");
			System.out.print(write.get(10)+" ");
			System.out.print(write.get(11)+" ");
		}
		
	}

}
Me gustaría que me dijerais si hay un modo mas eficiente ya que este me parece un poco tosco.
Y si lo hay me gustaria que me lo mostraseis para que aprendiera.

Un saludo
  #4 (permalink)  
Antiguo 23/10/2013, 19:36
 
Fecha de Ingreso: agosto-2013
Mensajes: 103
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Java ingles tabla de verbos

uhm, en realidad tu lo que quieres es hacer una tabla. Si no sabes hacerla con una matriz intentalo con un for anidado. Aunque siempre es mas sencillo con una matriz, al menos para mi.
  #5 (permalink)  
Antiguo 25/10/2013, 02:43
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 12 años
Puntos: 1
Respuesta: Java ingles tabla de verbos

De hecho eso es lo que planteo al principio lo de la matriz pero me dijeron que lo intentase con list y me salio eso que puse mas arriba

Pero con una matriz no se meterle datos sin crear variables si lees el primer mensaje lo explico me gustaria hacer esto:

verbo[1][1]= write
verbo[1][2]= wrote
etc....

Pero java no deja hacer esto y no se ya que hacer :(
  #6 (permalink)  
Antiguo 25/10/2013, 04:27
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Java ingles tabla de verbos

Te dije que tenías que hacer un List o Map de una clase Verbo que contuviera esos tres datos, pero no lo has hecho.

Si la haces con List para buscar tienes que recorrer todos los objetos para comprobar que es el que buscas, si usas un Map puedes utilizar el verbo como clave de su objeto.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #7 (permalink)  
Antiguo 25/10/2013, 04:39
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 12 años
Puntos: 1
Respuesta: Java ingles tabla de verbos

Si no se lo que es map ni list hasta hace poco no me pidas tanto
Además no se obtener variables entre distintas clases publicas

aqui esta lo que he podido conseguir con mis conocimientos
Código:
import java.util.Scanner;
public class matriz_prueba 
{
    public static void main (String args[])
    {
        Scanner escribe=new Scanner(System.in);
        String sverbo;
        
        String[][] verbo=new String[40][4];
            
            verbo[0][0]="write";
            verbo[0][1]="wrote";
            verbo[0][2]="written";
            verbo[0][3]="Escribir";
            
            verbo[1][0]="cut";
            verbo[1][1]="cut";
            verbo[1][2]="cut";
            verbo[1][3]="Cortar";
            
            verbo[2][0]="Be";
            verbo[2][1]="was/were";
            verbo[2][2]="been";
            verbo[2][3]="ser/estar";
        
        System.out.println("Escribe verbo");
        sverbo=escribe.next();
        
        if (sverbo.equalsIgnoreCase("write"))
        {
            for (int f=0;f<=3;f++)
            System.out.print(verbo[0][f]+"\t\t");
        }
        
        if (sverbo.equalsIgnoreCase("cut"))
        {
            for (int f=0;f<=3;f++)
            System.out.print(verbo[1][f]+"\t\t");
        }
        if (sverbo.equalsIgnoreCase("be"))
        {
            for (int f=0;f<=3;f++)
            System.out.print(verbo[2][f]+"\t\t");
        }
    }
}
No se si habria un método mejor pero lo que pides no puedo hacerlo directamente no se
  #8 (permalink)  
Antiguo 25/10/2013, 11:48
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Java ingles tabla de verbos

Puedes elegir entre volver a preguntar lo mismo hasta tener una respuesta satisfactoria o perder cinco minutos leyendo qué es un Map o una List.

Tarde o temprano (más bien temprano porque es básico) tienes que aprenderlo, así que por qué no ahora.

https://www.google.es/search?q=java+...sm=93&ie=UTF-8

https://www.google.es/search?espv=21....0.uTCN88eHNuc
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #9 (permalink)  
Antiguo 25/10/2013, 13:01
 
Fecha de Ingreso: octubre-2013
Ubicación: Guerrero.
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Respuesta: Java ingles tabla de verbos

Hazle caso a Xerelo.
Deberías hacer una clase Verbos con los atributos que deseas utilizar, con sus respectivos set y get.
En el main, como dice Xerelo, debes crear un list o map de tipo Verbos y puedes recorrerlos con el for mejorado.
Además de que puedes manipular el list o map con sus respectivos métodos, los genéricos te facilitan mucho las cosas.

Etiquetas: ingles, matriz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:49.