跪求一个多维数组问题

continue1949 2009-07-30 03:54:50
一个用来存放2001年7月和8月份天气情况的多维数组,用来表示每月的每一天的最高温度和最低温。利用这些信息编写一个程序,通过交互式输入每个元素的高温和低温,然后满足以下用户需求:
a、可以查询任何一天的高温和低温。
b、某一个月的高温和低温的平均值。
c、最高温所在的月和日
d、最低温所在的月和日
天气的数组的值,可以用随机数

有源代码就好
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
老张-AI 2009-07-30
  • 打赏
  • 举报
回复
这个不会 帮顶
  • 打赏
  • 举报
回复
我也觉得尽量不要用数组,java里面好的容器那么多,为什么不用?而且如果你继承java的容器来增加自己的应用,我觉得会更灵活点。map就挺好的。
dingkui 2009-07-30
  • 打赏
  • 举报
回复
如此类推,你设置可以再加一层——年!也很简单
dingkui 2009-07-30
  • 打赏
  • 举报
回复
当然有比数组做好的方法,比如用数据库
下面说下用数组做的基本思路:
数组
第一层 是月
第二层是 日
第三层是 两个数字(温度)
用script来做个例子吧
var t = {{{-1,1月1日},{39,8月2日}} ... {{30,38},{31,37}...{34,39}}, {...}, ... }
最低温度 最高温度 1日 2日 31日
最低温度日 最高温度日 7月 8月 其他月

数组定义:
t[1]就是1月,t[7]就是7月,t[8]就是8月
t[1][1]就是1月1日
t[1][1][0]就是最低温度,t[1][1][1]是最高温度

另外最高气温和最低气温记录,就直接放在 t[0]吧
t[0][0][0]是最低气温的温度 t[0][0][1]是最低气温的日期
t[0][1][0]是最高气温的温度 t[0][1][1]是最高气温的日期


然后就是使用方法:
//设定某天的温度
function sett(m,d,max,min){
t[m][d][0] = min;
t[m][d][1] = max;
if (t[0][0][0] > t[m][d][0]){
t[0][0][0] = t[m][d][0];
t[0][0][1] = m+"月"+d+"日";
}
if (t[0][0][1] < t[m][d][1]){
t[0][1][0] = t[m][d][0];
t[0][1][1] = m+"月"+d+"日";
}
}
//取得某天最高温度
function getmaxt_forday(m,d){
return t[m][d][1];
}
//取得某天最低温度
function getmint_forday(m,d){
return t[m][d][0];
}
//取得最高温度的日期
function getmaxt_day(){
return t[0][1][1];
}
//取得最低温度的日期
function getmint_day(){
return t[0][0][1];
}
//取得最高温度
function getmaxt(){
return t[0][1][0];
}
//取得最低温度
function getmaxt(){
return t[0][0][0];
}

比如:
设置7月3日的最低气温为 31℃,最高气温 39℃:sett(7,3,39,31);
设置好一些数据后就可以进行查询,如下:
取得8月5日的最高温度:getmaxt_forday(8,5);
取得历史最高温度的日期:getmaxt_day();
取得历史最高温度的温度:getmaxt();

其实这样做也很简单,因为日期都可以直接做成数组的下标,这样的效率比较高。但是数据只是保持在内存中,数据无法保存到磁盘中,要保持在磁盘中需要考虑其他的办法!



superspring 2009-07-30
  • 打赏
  • 举报
回复
为什么要用多维素组?
用一个map多好,什么都有了
programpoet 2009-07-30
  • 打赏
  • 举报
回复
帮顶吧
chenhao_283 2009-07-30
  • 打赏
  • 举报
回复
这个我真没有

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧