正在阅读:Java中运行其它程序方法的实例详解Java中运行其它程序方法的实例详解

2005-08-30 10:04 出处: 作者:cherami 责任编辑:moningfeng

  4、对于程序的输出,最开始我是构造的一个BufferedReader想以行为单位输出,对于那位网友的程序,结果证明不是很好用,但是以native2ascii作为例子运行又没有问题。这个估计和外部程序的代码也有关系,如果外部程序没有输出换行符可能使用BufferedReader就会有问题。但是通过直接读取输出就没有问题了。另外需要注意的就是:

  System.out.println(lineNumber+":"+new
  String(buffer, 0, count-1));


  中严格来说应该是:

  System.out.println(lineNumber+":"+
  new String(buffer, 0, count));


  之所以减一是因为读取输入的时候人为的多加了一个换行符,如果这个地方不减一就会多输出一个空行。

  基于以上的种种原因,要构造一个执行外部程序的包装器类不太好办,特别是文章中提到的几个问题。有时间和兴趣的朋友可以做一下测试,看看以上的问题和猜测是否正确。另外附上网友的源代码,是一个fortran的程序:

implicit none
real a,b,c
real d
real root1,root2
print*,'请输入一元二次方程的系数a,b,c:'
read(*,*) a,b,c
d=b**2-4.0*a*c
if(d>=0.0) then
root1=(-b+sqrt(d))/(2.0*a)
root2=(-b-sqrt(d))/(2.0*a)
print*,'root1=',root1
print*,'root2=',root2
else
print*,'一元二次方程没有实根!'
end if
pause
end


  在最开始给出的那个类虽然在某些应用中可能存在问题,但是对于一般的程序可能问题不是很大,当然大家可以根据上面的说明、猜测在应用在自己的项目中的时候进行一些修改和测试。
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品