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

Problema con programa. (ayuda)

Que tal, me acabo de registrar en la pagina por que se me hizo muy interesante, ademas por que no existen muchos lugares en los que puedas encontrar ayuda y menos mexicanos. Bueno, pues miren, soy estudiante de programación, apenas estoy empezando, y pues tengo un problema con el siguiente programa.
necesitaba ver que me recomendaban para terminarlo. espero puedan hacerlo. gracias.

El problema dice asi:
Hacer un programa que calcule los puntos que acumularon los "toros" en el campeonato pasado, considerando que cuando ganan( " g " " G " ) obtienen 3 puntos, cuando empatan ( " e " " E " ) obtienen 1 punto y cuando pierden ("p" "P") no acumulan puntos. Jugaron 5 veces. utilizar mientras (while).

por cierto se me olvido decir que trabajo con el IDE JCreator Pro.

import java.io.*;
public class toros{
public static void main(String args[]){

int i,tope=0;
String opc="";

System.out.println("¿Cuántos juegos se realizáron?");
tope=Lectura.datoInt();
if(tope>0)
{
for(i=0;i<=tope;i=+1)
{
System.out.println("¿Qué calificación obtuvo?");
System.out.println("G.-Si gano");
System.out.println("E.-Si empato");
System.out.println("P.-Si perdio");
opc=String.parseString();

switch(opc)
{

}
}
}
else
System.out.println("Número Inválido");
}
}

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 Nopalin

Estas son mis recomendaciones

Para empezar, todo código que pongas hazlo entre los tags code, en segundo, segun las recomendaciones de sun para la buena práctica de programacion todas las clases de java deben iniciar con mayúscula y cada archivo debe ser una sola clase.

En segunda, tienes unos errores garrafáles en el codigo, seguro no te compila, trata de indentar bien tu código para que a los demás nos sea fácil leerlo. Creo que estás tratando de capturar datos por la consola, cierto? no se quien te dijo que se hacia de la manera en que lo pusiste (o tal vez nadie te dijo), pero si queires capturar datos de la consola se realiza de la siguiente manera:

//crea un input streamer para leer de la entrada estandar (teclado)
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

//lees una línea de texto, es decir, hasta que el usuario presione enter
String line = br.readLine();

//conviertes la cadena a entero, si no tiene formato numérico lanza una excepción
int value = Integer.parseInt(line);

//para realizar las comparaciones que mencionas, como veo que son "no case"
String calificacion = br.readLine();
if("G".equalsIgnoreCase(calificacion)){
   //suma puntos cuando gana
} else if("E".equalsIgnoreCase(calificacion)){
  //haz algo cuando empata
}
//... etc

Intenta hacer el programa que te encargaron, creo que este es mas que suficiente para que termines.. si tienes problemas entendiento términos o cosas así con gusto te ayudaremos. Ademas seria bueno que vayas agregando a tus marcadores esta página http://java.sun.com/javase/6/docs/api/

sobres

Gracias por la ayuda. (problema solucionado)

Que tal, bueno, pues gracias compañero Nopalin, la verdad que a veces hace falta un poco de orientación(en mi caso mucha), como decia apenas estoy empezando a introducirme en java, pedi ayuda en este programa, ya que no tenia idea de como leer las variables de tipo cadena. Como bien dice el programa introducir "g o G", "e o E" y "p o P", dependiendo de lo que se desea. Y pues con tu ejemplo me di una idea, pero como aún no veo el manejo de variables cadena o caracter(String o char), solo numericos, pues ese era el problema.

El primero código que puse, fue solo la introduccion de lo que pensaba hacer, pero pues con tu ayuda, mejor decidi hacerlo con el "Buffer", y en vez de introducir la opcion de tipo letra, pues la puse de tipo numerico, de esa manera el programa me compilo bien.

Y como bien dices, del código que me pusiste la mayoria no lo entiendo, pero gracias por la pagina que me recomendaste, ya la agregue.

Y bien esto fue lo que al final me quedo. espero que no tenga ningun fallo, o que alguien pueda "tronarlo".

import java.io.*;
public class Torowhilebuffer{
        public static void main(String args[]){
               
                int numj=0,opc=0,jue=0,i=1;
                BufferedReader teclado=new BufferedReader(new InputStreamReader(System.in));
                try{
                        System.out.println("Introduce el numero de juegos que se realizaron");
                        numj=Integer.parseInt(teclado.readLine());
                }catch(IOException variableerror)
                {
                        System.out.println("Error de Captura");
                }
                if(numj>0)
                {
                        while(i<=numj)
                        {
                                try{
                                        System.out.println("¿Que calificacion Obtuvo?");
                                        System.out.println("1.-Ganó");
                                        System.out.println("2.-Empató");
                                        System.out.println("3.-Perdió");
                                        opc=Integer.parseInt(teclado.readLine());
                                }catch(IOException variableerror)
                                {
                                        System.out.println("Error de Captura");
                                }
                                switch(opc)
                                {
                                        case 1:System.out.println("Acumula "+(jue=jue+3)+" puntos.");
                                        break;
                                               
                                        case 2:System.out.println("Acumula "+(jue=jue+1)+" puntos.");
                                        break;
                                               
                                        case 3:System.out.println("Acumula "+(jue=jue+0)+" puntos.");
                                        break;
                                default:System.out.println("Opcion Incorrecta");
                                }
                                i++;                           
                        }
                        System.out.println("El total de puntos obtenidos es: "+jue+".");
                       
                }
                else
                        System.out.println("Número Inválido");
        }
}
Imagen de Nopalin

Un par de cosas

El codigo me parece bien, solo un par de pequeños detalles.

el método: Integer.parseInt(); no lanza una excepcion del tipo IOException, lanza una del tipo NumberFormatException, presisamente puse te di esa página para que ahi checaras los métodos y clases que sun provee con su jre. ( chécalo aqui).

Cuando pierde, por que le sumas un 0? bendito copy and paste verdad? jajaja

y por ultimo, aunque sea solo una línea, trata de que en todos los if-else, while, do-whie.. etc abras y cierres con llaves, por que si no luego te puedes encontrar con el siguiente problema:

if(condicion)
    if( otraCondicion)
        //haz algo en el if aninado
    else
        //haz algo en el else aninado

Cuando en realidad el else es del primer if.

sobres

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