java - example - Problemas con ToString y Output
scanner java stack overflow (5)
Necesito ayuda con mi programa.
Esta es mi tarea
Ya he escrito el código, pero cuando intento imprimir mi código, solo se imprime el código Int. (Tenga en cuenta que mi formato es mucho mejor, no estoy acostumbrado a este sitio web).
Este es mi archivo de clase:
public class Card
{
//instance variables
public String rank;
public String suit ;
public int cardValue;
//constructor
public Card(String rank, String suit, int cardValue)
{
this.rank = rank;
this.suit = suit;
this.cardValue = cardValue;
}
//accessors
//get methods
public String getrank()
{
return rank;
}
public String getsuit()
{
return suit;
}
public int getcardValue()
{
return cardValue;
}
//toString
public String toString()
{
String output =
"The" + rank + "of" + suit + "=" + cardValue + "/n";
return output;
}
}
Este es mi archivo de corredor:
import static java.lang.System.*;
public class CardRunner
{
public static void main( String args[] )
{
Card bob = new Card("ACE", "SPADES", 11);
System.out.println(bob.cardValue);
}
}
Como escribieron otros, mientras escribes System.out.println(bob.cardValue);
Su impresión es exactamente ese único parámetro.
Necesita llamar a su método " toString () " anulado (por cada objeto lo tiene, cada clase, cada objeto en java es hijos de la clase " Object ")
Para llamar a String () no necesita imprimir algún parámetro de instancia (bob.cardValue) de alguna clase, sino exactamente esa instancia (objeto) como es (bob) ( bob es objeto, instancia de clase " Tarjeta " :) )
Algunos ejemplos de toString () usando:
System.out.println(bob); //in fact, will be called toString() also
System.out.println(bob.toString());
//or if you just need save instance in your custom string format in some *String* variable
String bobInMyString = bob.toString();
String bobInMyStringUsingCasttoString = (String) bob; //should also call toString()
Por cierto debería ser similar a (anotación para el compilador):
@Override
public String toString()
{
String output =
"The" + rank + "of" + suit + "=" + cardValue + "/n";
return output;
}
}
Si está preguntando por qué utilizar toString () , anule, mire por ejemplo. en ese muy buen ejemplo (números complejos), es útil para clases personalizadas o para escribir objetos en archivos, etc.
Cuando llama a System.out.println(bob.cardValue);
, solo imprime la propiedad cardValue
de su Card
.
Debe imprimir la instancia de la Card
para que se ejecute su método toString
:
System.out.println(bob);
Prueba esto
System.out.println(bob);
Si desea generar todos los datos de bob, debe hacer esto:
System.out.println(bob.toString());
Si usa System.out.println(bob.cardValue);
luego imprime propiedad individual del objeto. Si desea imprimir la propiedad completa del objeto, pase el objeto completo en lugar de pasar la propiedad individual.
imprima esto: - " System.out.println(bob);
" También necesita anular la función toString()
.
//toString
public String toString()
{
String output =
"The" + rank + "of" + suit + "=" + cardValue + "/n";
return output;
}