其中一个异常是因为 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 温度转换急急等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)