我正在制作一个实现类文件的程序。我想要做的是使用if语句输出字符串或只输出特定的println。
//Daily travel increments.
System.out.println("After one day ");
crossCountry.changeDay(1);
crossCountry.changeDistance(1);
crossCountry.changeLocation(1);
crossCountry.printStates();
我想要做的是根据“位置”号打印一个字符串。例如,如果位置为1,那么打印“位置”行的输出应该是“达拉斯德克萨斯”或类似的东西。
可以在此链接找到完整的来源。
我不确定是否可以这样做,但我正在寻找有关如何实现它的一些信息。如果无法做到这一点,请告诉我我的选择。
我想要简单,考虑到没有用户输入,我可以从我的主java文件和我的类文件中删除Location声明,只需在printStates行之后立即添加一个print语句。虽然我仍然想知道是否有办法根据位置编号实现其他内容。
答案 0 :(得分:1)
您可以使用switch语句,但如果必须使用if语句,则printStates方法可能类似于
void printStates()
{
String locationName = "Unknown"; // or some other default location name
if (location == 1)
{
locationName = "somelocation, SL";
}
else if (location == 2)
{
locationName = "thelocation, TL";
}
else if (location == 3)
{
locationName = "otherlocation, OL";
}
System.out.println("Day: " + day + "Distance Driven: " + distance +
"Current Location: " + locationName);
}
答案 1 :(得分:1)
如果它们是顺序整数并且您想将它们存储在内存中,则可以使用String数组来执行它,您可以在声明或运行时填充它(请参阅如何处理数组here)
String[] locations = {"Dallas Texas", "Somewhere over the rainbow", "Your momma"};
您可以通过数组位置读取它们(索引从零开始)。这样您就可以避免所有如果是其他或切换。始终验证阵列位置是否存在。假设 locationId ,它的位置是整数:
System.out.println(locations[locationId]); // print "Dallas Texas"
如果它们不连续,您可以使用按键对其元素编制索引的结构(在这种情况下,它是位置ID),如HashTable。
答案 2 :(得分:1)
changeDay()
changeDistance()
和changeLocation()
方法实现自己的逻辑If
而是使用array
(或任何数据结构)来索引当前位置-
public class JavaApplication33 {
public static void main(String[] args) {
// Create object.
Travel crossCountry = new Travel();
// Initial output.
System.out.println("You decide to travel across the country.");
System.out.println("You start your trip in Augusta, Ga.");
System.out.println("You average 75mph and 12 hours driving per day");
System.out.println("After " + 1 + " day ");
crossCountry.changeDay(1);
crossCountry.changeDistance(1);
crossCountry.changeLocation(1);
crossCountry.printStates();
}
}
class Travel {
int day = 0;
int distance = 0;
int location = 0;
int increment = 900;
String[] locations = {"Augusta", "Portland", "Kentucky", "Chicago", "NY", "Indiana"};
void changeDay(int newValue) {
day += newValue;
}
public void changeLocation(int newValue) {
location += newValue;
}
public void changeDistance(int newValue) {
distance += 75 * 12 * newValue;
}
void printStates() {
System.out.println("Day: " + day + " Distance Driven: " + distance + " Current Location: "
+ locations[location]);
}
}
答案 3 :(得分:0)
切换声明
switch (integerValue)
case 1:
System.out.println("output 1");
break;
case 2:
System.out.println("output 2");
break;
default:
System.out.println("wat");
}