我以前遇到過這個錯誤,但是它讓我感到困惑,因爲現在顯然是出於不同的原因,因爲我正在做我上次做的事情躲開它。我真的堅持這一點,並且一點也不知道該怎麼做。這只是我擁有的主類的測試者類,但這是發生錯誤的地方。Java「線程中的異常」main「java.lang.NoClassDefFoundError」
// test class for "CelciusAndFahrenheit"
import java.io.*;
class CelCiusAndFahrenhetTester
{
public static void main(String[] args) throws IOException
{
//Making Input and reading to variable
String inInput;
InputStreamReader inStream = new InputStreamReader (System.in);
BufferedReader reader = new BufferedReader (inStream);
System.out.println ("Please state which temperature type you are converting to");
inInput = reader.readLine();
if (inInput != "Celcius")
{
System.out.println ("What is the temperature amount you wish to convert?");
inInput = reader.readLine();
CelciusAndFahrenheit temperatureF = new CelciusAndFahrenheit();
double answer = Double.parseDouble(inInput);
temperatureF.setFahrenheit(answer);
temperatureF.tFah();
}
else
{
System.out.println ("What is the temperature amount you wish to convert?");
inInput = reader.readLine();
CelciusAndFahrenheit temperatureC = new CelciusAndFahrenheit();
double answer = Double.parseDouble(inInput);
temperatureC.setCelcius(answer);
temperatureC.tCel();
}
}
}
編輯; 不會說謊。我是一個小白菜。教我Java的人正在讓他的班級使用記事本和CMD來運行我們的程序,坦率地說,我只是迷失了方向。爲了回答這些問題中的一部分,這裏是另一個程序。
import java.io.*;
// blueprint for "CelciusAndFahrenheit" class
class CelciusAndFahrenheit
{
// declare instance variable as private
private double fahrenheit;
private double celcius;
// declare getter method public
public double getFahrenheit()
{
return fahrenheit;
}
// declare setter method public
public void setFahrenheit(double tempF)
{
fahrenheit = tempF;
tempF = (9.0/5.0) * celcius + 32;
}
// declare getter method public
public double getCelcius()
{
return celcius;
}
// declare setter method public
public void setCelcius(double tempC)
{
celcius = tempC;
tempC = (5.0/9.0) * (fahrenheit - 32);
}
public void tFah()
{
System.out.println ("The temperature you've inputted in Fahrenheit is " + fahrenheit + ".");
}
public void tCel()
{
System.out.println ("The temperature you've inputted in Celcius is "+ celcius + ".");
}
}
不直接在點上,但**從不** **測試字符串與'=='或'!='相等。 –
你怎麼調用這個程序?您的* classpath *可能設置錯誤,或者您位於錯誤的目錄中。這個技術筆記翻開那個話題:http://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html – millimoose
一定要添加異常跟蹤,所以可以告訴什麼庫是運行程序時,在'classpath'中缺少。 – mystarrocks