Estoy escribiendo un programa que permite a las lecturas de la temperatura de entrada del usuario 6, y luego o bien el retornoString.Format para el redondeo, no se puede localizar el error fuente de conversión de formato ilegal?
- los más altos valores originales + versión centígrados
- devolver los valores originales + conversión en la versión centígrados.
el código donde se establecen los valores de las matrices está aquí:
System.out.print("Enter Temperature:\t"); //Get the count...
Temp = LocalInput.nextInt();
WeatherSpots[K].CatchCount = Temp;
el mensaje de error que me sale es este
java.util.IllegalFormatConversionException: f != java.lang.Integer
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printFloat(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
at p2list.WeeklyReport(p2list.java:102)
at p2list.main(p2list.java:33)"
También he encontrado la frase exacta que me da problema:
String.format("%.2d", (WeatherSpots[K].CatchCount - 32) * 5/9)"
sé que el error ocurre cuando mi "%._"
no tiene el especificador derecha, pero todos mis variables y matrices están en int, por lo que d deben estar trabajando
aquí está el resto del código:
Así es como me puse la primera matriz:
private static WeatherLocation[] WeatherSpots = new WeatherLocation[6];"
Esta es la clase que las matrices posteriores utilizan
public class WeatherLocations extends WeatherLocation {
public String LocationID;
public Integer CatchCount;"
arrays = WeatherSpots.LoccationID/Catchcount"
Aquí es donde la matriz catchcount
se establece con las temperaturas de entrada de usuario
int K;
for(K = 0 ; K < 6 ; K++){
System.out.print("Enter Temperature:\t");
Temp = LocalInput.nextInt();
WeatherSpots[K].CatchCount = Temp;
Aquí está el método en el que intento hacer un llamamiento a los WeatherSpots[K].catchcount
valores para convertir a celcius
int K= 0;
for(K = 0 ; K < 6 ; K++){
System.out.println("" + WeatherSpots[K].LocationID +"\t\t" + WeatherSpots[K].CatchCount + "\t\t" + String.format("%.2f", (WeatherSpots[K].CatchCount - 32) * 5/9));
Lo que se ha provocado el error, si mis matrices y variables son los tipos adecuados para el uso de string.format
?
gracias!eso resolvió todo – user1476390
@ user1476390: Como esta respuesta resolvió tu problema, debes votar la respuesta de Daniel (como lo he hecho) haciendo clic en la flecha hacia arriba a la izquierda, y luego debes aceptarla haciendo clic en gran marca de verificación a la izquierda de ella. –
oh bien. lo siento Daniel, no puedo votar todavía – user1476390