问题描述
import java.util.Scanner;
public class Assignment1Q3
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Please enter the first time: ");
int fTime = in.nextInt();
System.out.print("Please enter second time: ");
int lTime = in.nextInt();
int tDifference = Math.abs(fTime - lTime);
String strTDiff = String.valueOf(tDifference);
int length = strTDiff.length();
if (length == 4)
{
String hours = strTDiff.substring(0, 2);
String minutes = strTDiff.substring(3, 5);
}
else if (length == 3)
{
String hours = strTDiff.substring(0);
String minutes = strTDiff.substring(2, 4);
}
else
{
String hours = ("0");
String minutes = strTDiff.substring(0, 1);
}
System.out.println(hours + " hours " + minutes + " minutes");
}
}
嘿大家好我试图用一个简单的程序Java查找军事时间给出的2次之间的差异,并以小时和分钟的数量给出输出。每当我在命令提示符下编译它时,它会给出一个变量小时的错误,以及上一个打印行中的变量分钟无法找到符号。我想在if语句之前尝试声明它们,但这也不起作用。我很抱歉,但我对编程很感兴趣并感谢所提供的任何帮助。
Hey guys so im attempting to make a simple program using Java to find the difference between 2 times given in military time and to give the output in number of hours and minutes. Whenever i compile this in command prompt it gives me an error for the variable hours and the variable minutes in the last printing line saying "cannot find symbol". I thought trying to declare them before the if statement but that did not work either. I apologize but i am very new to programming and appreciate any help offered.
推荐答案
通过在if语句中调用String,它们只存在在if语句中,你需要在if语句之外对它们进行十进制并将其与if中的值相关联。
By calling String within the if statements they only exist within the if statement you need to decalre them outside of the if and associate a value within the if.
import java.util.Scanner;
public class Assignment1Q3
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Please enter the first time: ");
int fTime = in.nextInt();
System.out.print("Please enter second time: ");
int lTime = in.nextInt();
int tDifference = Math.abs(fTime - lTime);
String strTDiff = String.valueOf(tDifference);
int length = strTDiff.length();
String hours = "";
String minutes = "";
if (length == 4)
{
hours = strTDiff.substring(0, 2);
minutes = strTDiff.substring(3, 5);
}
else if (length == 3)
{
hours = strTDiff.substring(0);
minutes = strTDiff.substring(2, 4);
}
else
{
hours = ("0");
minutes = strTDiff.substring(0, 1);
}
System.out.println(hours + " hours " + minutes + " minutes");
}
}
因此您可以将它们初始化为或删除不必要的else语句将它们初始化为else valuse
so you can initialise them to "" or to remove unnecessary else statement initialise them to the else valuse
String hours = "0";
String minutes = strTDiff.substring(0, 1);
if (length == 4)
{
hours = strTDiff.substring(0, 2);
minutes = strTDiff.substring(3, 5);
}
else if (length == 3)
{
hours = strTDiff.substring(0);
minutes = strTDiff.substring(2, 4);
}
System.out.println(hours + " hours " + minutes + " minutes");
这篇关于Java错误:找不到符号但是声明了变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!