用java,输入一个星期7天的温度,然后打印出来,同时计算平均温度,显示温度最高和最低是星期几

用java,输入一个星期7天的温度,然后打印出来,同时计算平均温度,显示温度最高和最低是星期几,第1张

其中一个异常是因为 hotday p=null;

改为,DaysTemperature p= new DaysTemperature();

需要new一个新对象,你试试看 ,

然后没有异常了就好解决了。

只需要在这2个方法里 displayTheWeekTemperature();calTheHotestDayAndDisplay();

取出你保存的星期,温度集合的list allTemperature里面的值

无论是计算评价值还是最高最小,相信,都很简单了,就是 *** 作集合

(里面有一点瑕疵。就是当输入星期几,温度的时候,可以重复输入,比如,我星期1输过了,后来,又可以输入星期1,这样 ,后来你判断平均值的时候就有点乱了,我意思是你增加的时候首先判断,是否改星期的记录已经存在,如果存在,把以前的删除,重新添加,这样感觉比较完善些)

lz 你还少了 Utility 这个类

程序报错,,,,

推荐lz用eclipse编写代码,这样可以进行断点调试,很方便的

这样很容易就能查找到问题的所在了

所有错误都是你粗心造成的 !

并没有绝对的语法上的错误 !

只是英文拼写上的错误 !

import javaawt;

import javaawtevent;

import javaxswing;

//将这个例子讲述JButton,JTextField,JLabel的用法

public class CelsiusConverter implements ActionListener {

JFrame converterFrame;

JPanel converterPaanel; //错误converterPanel

JTexField tempCelsius; //错误JTextField

JLabel celsiusLabel,fahrenheitLabel;

JButton convertTemp;

//构造函数

public CelsiusConverter() {

//创建容器

converterFrame = new JFrame("温度转换器");

converterFramesetSize(40,40);

//错误converterPanel

converterJPanel = new JPanel();

//错误converterPanel

converterJPanelsetLayout(new GridLayout(2,2));

//增加widgets

addWidgets();

//向frame中添加panel

converterFramegetContentPane()add(converterPanel,BorderLayoutCENTER);

//关闭窗口时退出

converterFramesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

//显示转换器

converterFramepack();

converterFramesetVisible(true);

}

//为转换器创建和增加widgets

private void addWidgets(){

//创建widgets

tempCelsius = new JTextField(2);

celsiusLabel = new JLabel("摄氏温度",SwingConstantsLEFT);

convertTemp = new JButton("转换……");

fahrenheitLabel = new JLabel("华氏温度",SwingConstantsLTFT); //错误LEFT

//诊听转换器按钮发出的事件

convertTempaddActionListener(this);

//向容器中添加widgets

converterPaneladd(tempCelsius);

converterPaneladd(celsiusLabel);

converterPaneladd(convertTemp);

converterPaneladd(fahrenheitLabel);

celsiusLabelsetBorder(BorderFactorycreateEmptyBorder(5,5,5,5));

fahrenheitLabelsetBorder(BorderFactorycreateEmptyBorder(5,5,5,5));

}

//实现ActionListener接口

public void actionPerformed(ActionEvent event) {

//将摄氏温度转换为双精度小数,并且转换为华氏温度

int tempFahr =

(int)((DoubleparseDouble(tempCelsiusgetText())) 18 + 32);

fahrenheitLabelsetText(tempFahr + " Fahrenheit");

}

//main 方法

public static void main(String[] args)

{

//异常处理

try

{

UIManagersetLookAndFeel(

UIManagergetCrossPlatformLookAndFeelClassName());

}

catch(Exception e){}

CelsiusConverter converter = new CelsiusConverter();

}

}

错误都注释了 你改一下就可以了!!

建议:采用一种好的编译工具 Eclipse 不错

>

文本内容输出,每隔20°打一行输出,在这里可以做个list去模拟分页,代码如下:

public class Test {

public static void main(String[] args) {

int num = 0;

while(num<=250){

int tempH = (int)(num9/5+32);

Systemoutprintln("she="+num+" hua="+tempH);

if(num%20 == 0){

Systemoutprintln("");

}

num++;

}

}

}

原理:观察者模式

两个类可实现。

一个是监听温度类,它是一个线程类,每时每刻测量室内问题,当室内温度小于15度时,通知升温类升温。

另一个类升温类,它的功能是“当室内温度小于15度时,将空调温度每次提升一度,直到升到25度,并将执行的结果告诉监听温度类(我升温完毕了,假如温度还低于15度,请再次通知我升温吧)。

package cncom;

import javautilRandom;

/

  测量温度类

  

  @author JinBiaoHuang

 

 /

public class MeasureTemperature implements Runnable {

private static boolean raisingTemperature = false;// 是否正在升温,假如正在升温,就不需要通知了

private int temperature;

@Override

public void run() {

while (true) {//每时每刻测量温度,假如低于15度,并且

try {

temperature = getRandomTemperature();// 测量温度

Threadsleep(10); // 模拟测量温度所需时间

if (!raisingTemperature && temperature < 15) {

Systemoutprintln("现在温度是" + temperature + "度,太冷了,要升温才行");

raisingTemperature = true;

new ControlTemperature()raiseTemperature(temperature);

}

} catch (InterruptedException e) {

eprintStackTrace();

}

}

}

private int getRandomTemperature() { //正常室温就40度

return new Random()nextInt(40);

}

public void setRaisingTemperature(boolean that_raisingTemperature) {

raisingTemperature = that_raisingTemperature;

}

}

package cncom;

/

  升温类

  

  @author JinBiaoHuang

 

 /

public class ControlTemperature {

public void raiseTemperature(int temperature) throws InterruptedException {

Systemoutprintln("我收到你的升温请求了请稍等");

while (temperature < 25) {

Threadsleep(20);//模拟升温需要的时间

temperature++;

Systemoutprintln("努力升温中,现在温度是" + temperature + "度,在稍等一会");

}

Systemoutprintln("升温完毕,现在温度是" + temperature + "度,够暖和了吧");

new MeasureTemperature()setRaisingTemperature(false);

}

}

package cncom;

/

  测试类

  @author JinBiaoHuang

 

 /

public class RaiseTemperatureTest {

public static void main(String[] args) {

MeasureTemperature runnable = new MeasureTemperature();

new Thread(runnable)start();//启动线程

}

}

打印结果

现在温度是7度,太冷了,要升温才行

我收到你的升温请求了请稍等

努力升温中,现在温度是8度,在稍等一会

努力升温中,现在温度是9度,在稍等一会

努力升温中,现在温度是10度,在稍等一会

努力升温中,现在温度是11度,在稍等一会

努力升温中,现在温度是12度,在稍等一会

努力升温中,现在温度是13度,在稍等一会

努力升温中,现在温度是14度,在稍等一会

努力升温中,现在温度是15度,在稍等一会

努力升温中,现在温度是16度,在稍等一会

努力升温中,现在温度是17度,在稍等一会

努力升温中,现在温度是18度,在稍等一会

努力升温中,现在温度是19度,在稍等一会

努力升温中,现在温度是20度,在稍等一会

努力升温中,现在温度是21度,在稍等一会

努力升温中,现在温度是22度,在稍等一会

努力升温中,现在温度是23度,在稍等一会

努力升温中,现在温度是24度,在稍等一会

努力升温中,现在温度是25度,在稍等一会

升温完毕,现在温度是25度,够暖和了吧

以上就是关于用java,输入一个星期7天的温度,然后打印出来,同时计算平均温度,显示温度最高和最低是星期几全部的内容,包括:用java,输入一个星期7天的温度,然后打印出来,同时计算平均温度,显示温度最高和最低是星期几、java 华氏温度和摄氏温度转换问题、java 温度转换急急等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9668154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存