郁闷啊~!有没有会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)>FMAX(1) THEN FMAX(1)=X(I,0)<BR>440 IF X(I,0)<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)<.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<.5 THEN F$="**" ELSE IF PR<.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)<0 THEN PRINT "ERROR":STOP<BR>1120 IF VR-1<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>=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)>=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)>=0 GOTO 1220<BR>1210<BR></P>
页:
[1]
