把C语言代码转成Java代码

Python013

把C语言代码转成Java代码,第1张

package dis

import java.io.*

import java.math.*

public class dis

{

public static void main(String [] s) throws Exception

{

Float a,b,c

double x2

double x1

System.out.println("请输入a, b, c的值")

BufferedReader bReader=new BufferedReader(new InputStreamReader(System.in))

a=Float.parseFloat(bReader.readLine())

b=Float.parseFloat(bReader.readLine())

c=Float.parseFloat(bReader.readLine())

if (b*b - 4*a*c <= 0)

System.out.println("输入的系数不对,b2-4ac不大于0!程序退出!")

else

{

x1 = (-b + Math.sqrt(b*b - 4*a*c))/2*a

x2 = (-b - Math.sqrt(b*b - 4*a*c))/2*a

System.out.println("x1 = "+ x1)

System.out.println("x2 = "+x2)

}

return

}

}

这是由于文件的结构标签丢失造成的。

文件中明显out文件没有被识别,选择文件对应的文件标签默认的out文件为输出文件src为源文件,选择out文件夹点击Excluded将out文件夹标记为输出文件然后重启IDE。选择对应的文件标签后软件会自动识别内容。

IntelliJIDEA是Java语言的集成开发环境,是公认的最好用的java开发工具之一。使用这个工具可以帮助我们快速的开发Java程序。其次,IntelliJIDEA不仅支持windows还支持Linux,这对Linux十分的友好,也让Linux用户更加的喜爱它。

使用词法分析可以简单的进行转换,不过问题是接口,java使用的库类和函数,c并不一定拥有,而且java运行的方式不同(java可以说是解释器的脚本,而c最终变成指令集),并不是简单给出一个函数调用位置就可以解决的,目前的话可以实现个转化器(如果你学过编译原理),但前提是不使用接口,或许我们可以像编译器对string类型的支持那样实现所有java的库操作,但这显然是鸡肋,因为这种方法写的java程序转换后是很难移植的(显然我是说硬件厂商不会为你天真的想法提供接口),并且对c风格来说是一种极大的破坏,最后生成的代码既没有效率也没有可移植性和可读性

结论是你还不如自己实现一个,即使你要转化一个大游戏,这样也有效多了