运算符 < 未定义参数类型 String, int ?在 java
The operator < is undefined for the argument type(s) String, int ? in java
我试图在服装方法中设置一个条件,如果温度 < 10,则建议穿特定的衣服,但我收到以下错误:
The operator < is undefined for the argument type(s) String, int.
那么在下面的穿衣方法中如何使用这个大于>
小于<
的呢?
import java.util.Random;
import net.aksingh.owmjapis.api.APIException;
import net.aksingh.owmjapis.core.OWM;
import net.aksingh.owmjapis.model.CurrentWeather;
public class Weather {
Weather Tweather = new Weather();
// method to test the API key
public static String owmKey() {
return "api-key"; // api key
}
static CurrentWeather cwd;
String[] highTemp = { "Shirt", "T-shirt", "Jacket", "Raincoat" };
String[] midTemp = { "sweater", "thermal-shirt" };
String[] lowTemp = { "Trousers", "Jeans", "Shorts" };
public static Boolean getCity(String city) {
/*
* Description: This method returns the name of the city.
*
* @param city: value of to be validated.
*
* @return : return the back the name of the city if valid.
*/
// declaring object of "OWM" class
OWM owm = new OWM(owmKey());
// getting current weather data for the selected city
try {
cwd = owm.currentWeatherByCityName(city);
if (cwd.hasCityId()) {
// we then return the city name
return true;
}
} catch (APIException e) {
// returns if city doesn't exist on the OWM API
return false;
}
return null; // else return null
}
public String temp() {
return "The temperature of are: Max-" + (cwd.getMainData().getTempMax() - 273.15) + " / Min - "
+ (cwd.getMainData().getTempMin() - 273.15) + "\'Celsius";
}
public String clothing() {
Random clothings = new Random();
int high = clothings.nextInt(highTemp.length - 1);
int mid = clothings.nextInt(midTemp.length - 1);
int low = clothings.nextInt(lowTemp.length - 1);
if( Tweather.temp() < 10 ) {
return "Adviesd Clothings By CTZ: " + highTemp[high];
}
return "Adviesd Clothings By CTZ: " + highTemp[high] + " and " + midTemp[mid] + " and " + lowTemp[low];
// return "Adviesd Clothings By CTZ: "+ highTemp[high] +" and " + midTemp[mid] +
// " and " + lowTemp[low];
}
}
在if( Tweather.temp() < 10 )
行中,Tweather.temp()
returns一个String
。我会添加另一种方法,即 returns 实际最低温度为 double
。也许是这样的:
public double getMinTemp() {
return cwd.getMainData().getTempMin() - 273.15;
}
然后使用该方法进行比较。
我试图在服装方法中设置一个条件,如果温度 < 10,则建议穿特定的衣服,但我收到以下错误:
The operator < is undefined for the argument type(s) String, int.
那么在下面的穿衣方法中如何使用这个大于>
小于<
的呢?
import java.util.Random;
import net.aksingh.owmjapis.api.APIException;
import net.aksingh.owmjapis.core.OWM;
import net.aksingh.owmjapis.model.CurrentWeather;
public class Weather {
Weather Tweather = new Weather();
// method to test the API key
public static String owmKey() {
return "api-key"; // api key
}
static CurrentWeather cwd;
String[] highTemp = { "Shirt", "T-shirt", "Jacket", "Raincoat" };
String[] midTemp = { "sweater", "thermal-shirt" };
String[] lowTemp = { "Trousers", "Jeans", "Shorts" };
public static Boolean getCity(String city) {
/*
* Description: This method returns the name of the city.
*
* @param city: value of to be validated.
*
* @return : return the back the name of the city if valid.
*/
// declaring object of "OWM" class
OWM owm = new OWM(owmKey());
// getting current weather data for the selected city
try {
cwd = owm.currentWeatherByCityName(city);
if (cwd.hasCityId()) {
// we then return the city name
return true;
}
} catch (APIException e) {
// returns if city doesn't exist on the OWM API
return false;
}
return null; // else return null
}
public String temp() {
return "The temperature of are: Max-" + (cwd.getMainData().getTempMax() - 273.15) + " / Min - "
+ (cwd.getMainData().getTempMin() - 273.15) + "\'Celsius";
}
public String clothing() {
Random clothings = new Random();
int high = clothings.nextInt(highTemp.length - 1);
int mid = clothings.nextInt(midTemp.length - 1);
int low = clothings.nextInt(lowTemp.length - 1);
if( Tweather.temp() < 10 ) {
return "Adviesd Clothings By CTZ: " + highTemp[high];
}
return "Adviesd Clothings By CTZ: " + highTemp[high] + " and " + midTemp[mid] + " and " + lowTemp[low];
// return "Adviesd Clothings By CTZ: "+ highTemp[high] +" and " + midTemp[mid] +
// " and " + lowTemp[low];
}
}
在if( Tweather.temp() < 10 )
行中,Tweather.temp()
returns一个String
。我会添加另一种方法,即 returns 实际最低温度为 double
。也许是这样的:
public double getMinTemp() {
return cwd.getMainData().getTempMin() - 273.15;
}
然后使用该方法进行比较。