Lunes 23 de Diciembre de 2024, 19:21
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Error Al Compilar Un Programa
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Error Al Compilar Un Programa (Leído 1309 veces)
shia_estrada
Nuevo Miembro
Mensajes: 1
Error Al Compilar Un Programa
«
en:
Lunes 3 de Diciembre de 2007, 23:46 »
0
Hola, es la primera vez que escribo a este foro y espero contar con su ayuda, estoy haciendo un script para un proyecto final, el black jack, pero a la hora de compilar me sale un error "operator - can not be applied to java.lang.string,int", y el codigo qe tengo para eso es:
static String getFiguraCarta(int carta) {
String[] nombre = {"as", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"j", "q", "k"};
String resulta;
resulta = nombre[getFiguraCarta(carta) - 1];
return resulta;
}
espero me ayuden..gracias
Tweet
Masiosare
Miembro MUY activo
Mensajes: 118
Re: Error Al Compilar Un Programa
«
Respuesta #1 en:
Martes 4 de Diciembre de 2007, 19:01 »
0
La función, mejor dicho Método, getFiguraCarta() regresa un dato del tipo 'String'.
en la linea:
Código: Text
resulta = nombre[getFiguraCarta(carta) - 1];
A un valor del tipo 'String' (que en Java se le considera un objeto) le estas tratando de aplicar una operación aritmética con un número, que es lo que arroja el error. Y por otro lado estás tratando de accesar a un elemento de un 'Array' o arreglo mediante un "String" siendo válido hacerlo solo con números.
Aparte de eso estas haciendo una llamada al método dentro del mismo método, lo que se llama recursividad, y en muchas ocaciones, como en esta, provoca ciclos infinitos.
Para resolverlo quita la llamada a la función en esa linea.
Código: Text
resulta = nombre[carta - 1];
Creo que también se puede quitar la variable resulta dejando el código así:
Código: Text
static String getFiguraCarta(int carta) {
String[] nombre = {"as", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"j", "q", "k"};
return nombre[carta - 1];
}
Yo inclusive haría esto:
Código: Text
private final String[] nombre = {"as", "2", "3", "4", "5", "6", "7", "8", "9", "10", "j", "q", "k"};
public static String getFiguraCarta(int carta) {
return nombre[carta - 1];
}
El experto es aquel que sabe cada vez más sobre cada vez menos, hasta que sabe competamente todo sobre absolutamente nada.
[size=109]
Ley de Murphy
[/size]
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Error Al Compilar Un Programa