java 获取温度,Java中温度程序的类声明

So this is the problem I'm having I need to input these five methods:

Temperature – a constructor method. This should set the initial temperature to 100.

getTemp – a method to return the current stored value of degrees Celsius

convertToF – a method to convert a Celsius temperature to degrees Fahrenheit

convertToK – a method to convert a Celsius temperature to degrees Kelvin

updateTempC – a method to update the stored temperature in degrees Celsius

into this program:

import java.util.Scanner;

public class TempProg {

public static void main(String[] args)

{

// Declare objects

Scanner scan = new Scanner(System.in);

Temperature tempConv = new Temperature();

// Declare variables

int newTemp;

boolean entryValid;

// Declare constants

final int MIN_TEMP = -273;

final int MAX_TEMP = 10000;

System.out.println("\tTemperature converter");

// Set a dummy selection value, so that we always show the options on the first go

char selection = 'x';

// Offer a list of options

while (selection != 'q') {

System.out.println("\n\tCurrent temperature in degrees C: " + tempConv.getTemp());

System.out.println("\tType f to display temperature in Fahrenheit");

System.out.println("\tType k to display temperature in Kelvin");

System.out.println("\tType c to set a new temperature");

System.out.println("\tType q to quit");

// Read from the keyboard

selection = scan.next().charAt(0);

// Act on the selection

switch(selection) {

case 'f': // Print Fahrenheit version

System.out.println("\n\t" +tempConv.getTemp()+ " degrees C = "+tempConv.convertToF() +" degrees F" );

break;

case 'k': // Print Kelvin version

System.out.println("\n\t" +tempConv.getTemp()+ " degrees C = "+tempConv.convertToK() +" degrees K" );

break;

case 'c': // Get a new temperature

entryValid=false; // Reset entryValid for this round

/* test for !entryValid

* i.e. "not entryValid"

* i.e. same as "entryValid == false"

*/

while (!entryValid) { // This will always be true the first time

System.out.print("\n\tPlease enter a new temperature: ");

newTemp = scan.nextInt();

// Check validity of new temperature

if (newTemp < MIN_TEMP || newTemp > MAX_TEMP) {

System.out.println("\tPlease enter a valid temperature");

} else {

entryValid=true;

tempConv.updateTempC(newTemp);

}

}

break;

case 'q': // Don't do anything for q, we print a message later

break;

default: // If it is not f, k, c or q then default is error message

System.out.println("\n\tOption " + selection + " not understood");

}

}

System.out.println("\n\tPROGRAM ENDED");

}

}

and this is what I have so far...

private double Temperature (double currentTemp)

{

currentTemp = 100;

return currentTemp;

}

public double convertToF (double TempF)

{

TempF = ((9 * currentTemp) / 5 ) + 32;

return TempF();

}

public double convertToK (double TempK)

{

TempK = currentTemp + 273;

return TempK();

}

public void updateTempC (double currentTemp)

{

newTemp = currentTemp;

return currentTemp();

}

public double getTemp()

{

return currentTemp;

}

it is basically won't compile and I'm 99% sure it's very wrong and I literally have no idea what to do... thoughts... suggestions?

and errors are:

tempProg.java:14: error: class TempProg is public, should be declared in a file named TempProg.java

public class TempProg {

^

tempProg.java:26: error: cannot find symbol

TempF = ((9 * currentTemp) / 5 ) + 32;

^

symbol: variable currentTemp

location: class TempProg

tempProg.java:27: error: cannot find symbol

return TempF();

^

symbol: method TempF()

location: class TempProg

tempProg.java:32: error: cannot find symbol

TempK = currentTemp + 273;

^

symbol: variable currentTemp

location: class TempProg

tempProg.java:33: error: cannot find symbol

return TempK();

^

symbol: method TempK()

location: class TempProg

tempProg.java:38: error: cannot find symbol

newTemp = currentTemp;

^

symbol: variable newTemp

location: class TempProg

tempProg.java:40: error: cannot return a value from method whose result type is void

return currentTemp();

^

tempProg.java:45: error: cannot find symbol

return currentTemp;

^

symbol: variable currentTemp

location: class TempProg

tempProg.java:54: error: cannot find symbol

Temperature tempConv = new Temperature();

^

symbol: class Temperature

location: class TempProg

tempProg.java:54: error: cannot find symbol

Temperature tempConv = new Temperature();

^

symbol: class Temperature

location: class TempProg

解决方案

You need a Temperature class. I'm just guessing that you've added those methods to the TempProg considering the improper "constructor". What you need is another class all together like so...

public class Temperature {

// Put those method and data members here

}

The constructor should not return a value. It should look like... public Temperature(), or some variation depending on your specific requirements.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值