devilwudi 发表于 2007-2-28 11:49

郁闷啊~!有没有会BASIC和JAVA的!

<P>郁闷啊~!有没有会BASIC和JAVA的!帮帮忙呀!最近挺郁闷!!经理让我把一段BASIC代码改写成JAVA程序,我没学过BASIC!麻烦高手们帮忙把下面的程序改成JAVA程序!不用什么窗体界面,只要在DOS下运行和这程序一样的效果就可以!! <BR>QQ:262993424<BR>MSN:huangshuo_lw@hotmail.com </P>
<P>10 CLS<BR>20 '******************************************************<BR>30 '<BR>40 '          单一肥料施用效应方程计算程序<BR>50 '                      CREG1<BR>60 '******************************************************<BR>70 PRINT "                        单一肥料施用效应方程计算程序"<BR>80 PRINT "                                    CREG1  "<BR>90 PRINT :PRINT<BR>100 DIM X(40,2),A(2,2),L(2),B(2),AB(2),AC(2),C(2),FMAX(2),FMIN(2),A$(12),E(40,6),D$(30),F(6),COST(3)<BR>110 INPUT "      用哪种模型计算 ?  用多项式请输入  Q  用平方根请输入  R ";MODEL$<BR>120 INPUT "      试验结果是否同时打印       (Y/N)                       ";PR$<BR>130 INPUT "      是否继续算最佳施肥量       (Y/N)                       ";PO$<BR>140 IF LEFT$(PO$,1)="N" OR LEFT$(PO$,1)="n" THEN 190<BR>150 INPUT "         请键入输出文件名        :                       ";OTF$<BR>160 OPEN "O",#2,OTF$<BR>170 INPUT "         请键入谷物价格      (元/公斤)                   ";VALU<BR>180 INPUT "         请键入肥料价格      (元/公斤)                   ";COST(1)<BR>190 INPUT "      输入文件名  ( K  表示键盘输入)?                      "; IPF$<BR>200 DEFDBL A  : NU=1<BR>210 IF LEFT$(IPF$,1)="K" OR LEFT$(IPF$,1)="k" THEN 290<BR>220 OPEN"I",1,IPF$<BR>230 ON ERROR GOTO 980 : GOSUB 1000<BR>240 N=N-1 : PRINT "     计 算 第 ";NU;" 个 试 验 结 果"<BR>250 FOR I=0 TO N<BR>260 PRINT X(I,0),X(I,1):X(I,2)=X(I,1)<BR>270 X(I,1)=X(I,0)*X(I,0)<BR>280 NEXT I : GOTO 420<BR>290 INPUT "     试验地点  : ";SITE$<BR>300 INPUT "     试验编号  : ";NUMB$<BR>310 T1$= "施N量" :T2$="产 量"<BR>320 INPUT "     因素 1 是否是 N 素 ?  是,请按 Y  不是,请输入 :";TN$<BR>330 IF LEFT$(TN$,1)="Y" OR LEFT$(TN$,1)="y" THEN 340 ELSE T1$=TN$<BR>340 INPUT "     试验结果是否是产量 ?  是,请按 Y  不是,请输入 :";TK$<BR>350 IF LEFT$(TK$,1)="Y" OR LEFT$(TK$,1)="y" THEN 360 ELSE T2$=TK$<BR>360 INPUT "     试验的处理数  :";N:N=N-1<BR>370 FOR I=0 TO N<BR>380 PRINT "     处 理  (";I+1;") ";T1$;:INPUT X(I,0)<BR>390 PRINT "     处 理  (";I+1;") ";T2$;:INPUT X(I,2)<BR>400 X(I,1)=X(I,0)*X(I,0)<BR>410 NEXT I<BR>420 FMAX(1)=0 : FMIN(1)=100 : FOR I=0 TO N<BR>430 IF X(I,0)&gt;FMAX(1) THEN FMAX(1)=X(I,0)<BR>440 IF X(I,0)&lt;FMIN(1) THEN FMIN(1)=X(I,0)<BR>450 NEXT I<BR>460 IF MODEL$="Q" OR MODEL$="q" GOTO 480<BR>470 FOR I=0 TO N : FOR J=0 TO 1 : X(I,J)=SQR(X(I,J)) : NEXT J : NEXT I<BR>480 FOR I=0 TO 2 : L(I)=0 : FOR J=0 TO 2 : A(I,J)=0 :NEXT J : NEXT I<BR>490 FOR K=0 TO N : FOR I=0 TO 2 : L(I)=L(I)+X(K,I)<BR>500 FOR J=0 TO I : A(J,I)=A(J,I)+X(K,I)*X(K,J) : NEXT J : NEXT I : NEXT K<BR>510 FOR I=0 TO 2 : L(I)=L(I)/(N+1) :NEXT I<BR>520 FOR I=1 TO 2 : FOR J=0 TO I-1 : A(I,J)=A(J,I) : NEXT J : NEXT I<BR>530 FOR I=0 TO 2 : FOR J=0 TO 2<BR>540 A(I,J)=(A(I,J)-(N+1)*L(I)*L(J))/N : NEXT J : NEXT I<BR>550 FOR I=0 TO 2 : C(I)=A(I,I) : NEXT I<BR>560 FOR I=0 TO 2 : FOR J=0 TO 2 : A(I,J)=A(I,J)/SQR(C(I)*C(J)) : NEXT J : NEXT I<BR>570 FOR I=0 TO 1 : AC(I)=0<BR>580 FOR J=0 TO 1 : AC(I)=AC(I)+A(I,J) : NEXT J<BR>590 A(I,I)=A(I,I)-1 : NEXT I<BR>600 FOR K=0 TO 1 : FOR J=0 TO 1 : AB(J)=A(K,J) : A(K,J)=0 : NEXT J<BR>610 A(K,K)=1 : W=AB(K)+1<BR>620 IF ABS(W)&lt;.000001 THEN END<BR>630 FOR I=0 TO 1 : Y=A(I,K)/W : FOR J=0 TO 1<BR>640 A(I,J)=A(I,J)-AB(J)*Y :NEXT J : NEXT I : NEXT K<BR>650 FOR J=0 TO 1 : C=0 : FOR I=0 TO 1 : C=C+A(I,J)*A(I,2)<BR>660 NEXT I : B(J+1)=C*SQR(C(2)/C(J)) : NEXT J<BR>670 C=0 : FOR I=0 TO 1 : C=C+B(I+1)*L(I) : NEXT I<BR>680 B(0)=L(2)-C : LPRINT "  " : LPRINT "  "<BR>690 LPRINT "试验地点    :";SITE$;"      试验编号    :";NUMB$<BR>700 IF LEFT$(PR$,1)="N" OR LEFT$(PR$,1)="n" THEN 750<BR>710 LPRINT "处理编号    ";T1$;"   ";T2$<BR>720 IF MODEL$="R" OR MODEL$="r" GOTO 740<BR>730 FOR I=0 TO N :LPRINT USING "########";I+1;:LPRINT USING "######.##";X(I,0);X(I,2):NEXT I :GOTO 750<BR>740 FOR I=0 TO N :LPRINT USING "########";I+1;:LPRINT USING "######.##";X(I,0)^2;X(I,2):NEXT I :GOTO 750<BR>750 IF LEFT$(PR$,1)="N" OR LEFT$(PR$,1)="n" THEN 770<BR>760 LPRINT "施肥效应方程  Y=B0+B1*X1+B2*X1*X1" :GOTO 780<BR>770 LPRINT "施肥效应方程  Y=B0+B1*SQR(X1)+B2*X1 "<BR>780 LPRINT "回 归 系 数  :"<BR>790 FOR I=0 TO 2 : LPRINT "    B("+STR$(I)+")="; : LPRINT USING "#####.########";B(I),: NEXT I : LPRINT<BR>800 S=C(2)*N : C=0<BR>810 C=0 : FOR I=0 TO 1<BR>820 C=C+B(I+1)*A(I,2)*N*SQR (C(2)*C(I))<BR>830 NEXT I : Q=S-C<BR>840 R=SQR(C/S) : ZR=SQR(Q/(N-2)) : F=(C/2)/(Q/(N-2))<BR>850 D1=2 :D2=N-2 : VR=F : GOSUB 1100<BR>860 IF PR&lt;.5 THEN F$="**" ELSE IF PR&lt;.1 THEN F$="* " ELSE F$="  "<BR>870 LPRINT "  " : LPRINT "                  多元回归方差分析表"<BR>880 LPRINT "来源       自由度      平方和      方差      F检验值 "<BR>890 LPRINT "回归       ";:LPRINT USING"####";2;:LPRINT "   ";:LPRINT USING "########.##";C;C/2;F;:LPRINT F$<BR>900 LPRINT "剩余       ";:LPRINT USING"####";N-2;:LPRINT "   ";:LPRINT USING "########.##";Q;Q/(N-2)<BR>910 LPRINT "总计       ";:LPRINT USING"####";N;:LPRINT "   ";:LPRINT USING "########.##";S<BR>920 LPRINT "    *置信度90%显著       **置信度95%显著"<BR>930 LPRINT "复相关系数  R=  ";R;"        回归值标准差  = ";ZR<BR>940 IF LEFT$(PO$,1)="N" OR LEFT$(PO$,1)="n" THEN 970<BR>950 WRITE #2,SITE$,NUMB$,VALU,T1$,COST(1),FMAX(1),FMIN(1)<BR>960 FOR I=0 TO 2 : PRINT #2,B(I) : NEXT I<BR>970 NU=NU+1 : GOTO 230<BR>980 CLOSE<BR>990 END<BR>1000 INPUT #1,SITE$,NUMB$,TY<BR>1010 FOR I=1 TO 6 :INPUT #1,F(I)  :NEXT I<BR>1020 FOR I=7 TO 12 :INPUT #1,A$(I) :NEXT I<BR>1030 FOR I=0 TO F(5)-1 :FOR J=0 TO F(3) :INPUT #1,X(I,J) :NEXT J:NEXT I<BR>1040 N=F(5) : T1$=A$(8) : T2$=A$(12)<BR>1090 CLOSE #1 : RETURN<BR>1100 PR=1<BR>1110 IF (D1*D2*VR)&lt;0 THEN PRINT "ERROR":STOP<BR>1120 IF VR-1&lt;0 GOTO 1140<BR>1130 A=D1 :B=D2 :F=VR :GOTO 1150<BR>1140 A=D2:B=D1:F=1/VR<BR>1150 AA=2/(9*A) :BB=2/(9*B)<BR>1160 Z=ABS (((1-BB)*F^.333333-1+AA)/SQR (BB*F^.666667+AA))<BR>1170 IF B&gt;=4 GOTO 1190<BR>1180 Z=Z*(1+.08*Z^4/B^3)<BR>1190 PR=.5/(1+Z*(.196854+Z*(.115194+Z*(.000344+Z*.019527))))^4<BR>1200 IF (VR-1)&gt;=0 GOTO 1220<BR>1210 PR=1-PR<BR>1220 SG=PR<BR>1230 RETURN<BR>PR=.5/(1+Z*(.196854+Z*(.115194+Z*(.000344+Z*.019527))))^4<BR>1200 IF (VR-1)&gt;=0 GOTO 1220<BR>1210<BR></P>


页: [1]

编程论坛