就目前发展来说,由于计算机的速度和存储空间的极大提升,程序(算法)的可读性与结构性是主流要求。
我曾经说过,解决一个问题用一行代码和用一千行代码(例子举得比较极端),对计算机运行来说人们的感觉没有什么区别。
你的这个问题,有多种多样的解决方法,想当然的方法,会用到数组和比较复杂的If语句。
我现在用一个方法,请你看看是否觉得简单呢?
在窗体添加2个组合框,Combo1和Combo2,一个 按钮和一个文本框Text1:
代码如下:
Option Explicit
Private XZ As String
Private Sub Command1_Click()
Dim M As String
Dim D As String
Dim d1 As Date
Dim d2 As Date
Dim L As Integer
M = Combo1.Text
D = Combo2.Text
L = InStr(XZ, M)
If D <= Mid(XZ, L + 3, 3) Then
Text1.Text = "你的星座是:" &Mid(XZ, L - 3, 3)
Else
Text1.Text = "你的星座是:" &Mid(XZ, L + 6, 3)
End If
End Sub
Private Sub Form_Load()
Dim i As Integer
Combo1.Clear
For i = 1 To 12
If i <10 Then
Combo1.AddItem "0" &CStr(i) &"月"
Else
Combo1.AddItem CStr(i) &"月"
End If
Next i
Combo1.Text = Combo1.List(0)
Combo2.Clear
For i = 1 To 31
If i <10 Then
Combo2.AddItem "0" &CStr(i) &"日"
Else
Combo2.AddItem CStr(i) &"日"
End If
Next i
Combo2.Text = Combo2.List(0)
XZ = "魔羯座01月20日水瓶座02月19日双鱼座03月20日白羊座04月20日金牛座05月21日双子座06月21日巨蟹座" &_
"07月22日狮子座08月23日处女座09月23日天秤座10月23日天蝎座11月22日射手座12月21日魔羯座"
End Sub
我这个程序,没有用数组和复杂的If语句,但是,用了Instr()函数,可读性就相对差一些了。
同时2月份,还没有考虑闰年问题以及大月小月问题.
import java.io.*import javax.servlet.*import javax.servlet.http.*import java.util.*public class xingzuo extends HttpServlet { public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException { res.setContentType("text/html")res.setCharacterEncoding("GB2312")PrintWriter out = res.getWriter()String getmonth = req.getParameter("month")int month = new Integer(getmonth).intValue()String getday = req.getParameter("day")int day = new Integer(getday).intValue()String test=req.getParameter("T1")boolean err=falseint xingzuonumber=0int fenjie[]={21,19,21,21,22,22,23,24,24,24,23,22}int zuida[]={31,29,31,30,31,30,31,31,30,31,30,31}String xingzuo[]={"水平座","双鱼座","白羊座","金牛座","双子座","巨蟹座","狮子座","处女座","天秤座","天蝎座","人马座","山羊座"}String xingge[]=new String[12]xingge[0]="这个星座常被称为'天才星座'或'未来星座'。"xingge[7]="处女座的特色是有丰富的知性,做事一丝不苟,"xingge[8]="天秤座的人爱好美与和谐,也相当仁慈并富有同情心,"xingge[9]="这个星座的人有著强烈的第六感、神秘的探视能力及吸引力,"xingge[10]="这个星座出生的人崇尚自由、无拘无束及追求速度的感觉,"xingge[11]="就像是只走在高山绝壁的山羊一样稳健踏实,"out.print("<html")out.print("<body bgcolor=#3300ff")out.print("<center")if(zuida[month-1]<day) { err=true}if(day= fenjie[month-1]) { xingzuonumber=(month%12)+1}else{xingzuonumber=month}if (err) { out.print("您输入的生日有错误,请重新输入")}else{ out.print("<table border=1"+"<tr")out.print("<td")out.print("<img src = 'image/"+ xingzuonumber + ".jpg'</td")out.print("<td")out.print("您的生日是"+month+"月"+day+"日"+"您的星座是"+xingzuo[(xingzuonumber+10)%12]+"这个星座的特点是:"+xingge[(xingzuonumber+10)%12]+"<font color=red<a href = xingzuo.jsp点击返回首页")} //out.print(xingzuo[0])out.print("</tr</table</center")out.print("</body")out.print("</html")} }可以化简
function constellation(date)DateList = 1 : 12 %1:12换成对应的日期
CList = {'射手','射手','射手',...} %这里换成对应的星座名称。
index = find(CList <= date,1,'last')
disp(CList{index})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)