本文目錄一覽:
C的函數轉換成java
使用詞法分析可以簡單的進行轉換,不過問題是介面,java使用的庫類和函數,c並不一定擁有,而且java運行的方式不同(java可以說是解釋器的腳本,而c最終變成指令集),並不是簡單給出一個函數調用位置就可以解決的,目前的話可以實現個轉化器(如果你學過編譯原理),但前提是不使用介面,或許我們可以像編譯器對string類型的支持那樣實現所有java的庫操作,但這顯然是雞肋,因為這種方法寫的java程序轉換後是很難移植的(顯然我是說硬體廠商不會為你天真的想法提供介面),並且對c風格來說是一種極大的破壞,最後生成的代碼既沒有效率也沒有可移植性和可讀性
結論是你還不如自己實現一個,即使你要轉化一個大遊戲,這樣也有效多了
c語言如何轉化為java 語言
public class Test{
public staitc void main(String args){
int i,j,k=3;
for(i=0;i4;k=k-1-i,i++)
{
for(j=0;j4+i;j++)
{
if(jk)
System.out.print(” “);
else
{
System.out.print(“*”);
j++;
}
}
}
k=3;
}
}
保存為Test.java,然後運行javac Test.java和java Test就可以運行了。。
使用idea將c轉為java
這是由於文件的結構標籤丟失造成的。
文件中明顯out文件沒有被識別,選擇文件對應的文件標籤默認的out文件為輸出文件src為源文件,選擇out文件夾點擊Excluded將out文件夾標記為輸出文件然後重啟IDE。選擇對應的文件標籤後軟體會自動識別內容。
IntelliJIDEA是Java語言的集成開發環境,是公認的最好用的java開發工具之一。使用這個工具可以幫助我們快速的開發Java程序。其次,IntelliJIDEA不僅支持windows還支持Linux,這對Linux十分的友好,也讓Linux用戶更加的喜愛它。
如何將以下c++代碼轉成Java代碼?
1、C++如何接受Java的完全面向對象
JAVA是一種完全面向對象的語言。這意味著你對任何一個Java對象所做的動作都是通過一個方法實現的。
第一點就是,再也沒有沒有主函數這樣的孤立的東西了。取而代之的是,你必須開始用一個對象的看法看待一個程序,一個類的對象。
但是這個對象又什麼對象呢? 大多數Java程序只是簡單的通過繼承Java基礎類Object來實現所需要的東西,但是你可以通過創建程序基礎類用於多個特性相似的應用程序來節省時間。 嚴格的面向對象的規定意味著理用原有的C/C++代碼不可以直接不加改動的使用;系統調用也是這樣的。C++中,你可以通過在C++正常的命名空間外聲明extern”C”來使用原有的C的過程調用,包括系統調用。
2、Java在虛擬機上運行
Java源代碼並不是被編譯成為普通的機器代碼。而是被翻譯成為虛擬機可以執行的代碼。一個Java解釋器最終執行這些代碼。
這其中沒有連接的過程;解釋在需要的時候動態的載入一些類; 在Java中,只有一個類似的安全回溯的方法,但是並不是十分簡單的方法。你必須定義一個本地方法,其目的是為C語言提供介面,然後提供連接的介質。Java環境提供了完成這種任務的工具,但是整個過程和C++中提供的extern比微不足道,完成使用C++類的過程則更加複雜,因為這樣會引入對C的借口和C函數和C++成員函數的問題。
3、許多常用的系統實用工具函數已經在系統類中的方法中提供出來,但是這些明顯沒有包含經過許多年來你所創建的那些類和過程。
所以,在你需要的時候你應該去鑽研一下。 也有一些軟體,可以實現C#代碼轉換java工具 C#轉java代碼轉換工具(C# to Java Converter)一個很強大的工具, 能將c#代碼片段、文件甚至工程直接轉換成java代碼,並能徹底解決外部引用的DLL問題,最強的是支持c#工程的直接轉換,生成的Java代碼質量也很不錯。
軟體已破解,去除了未註冊版最多只能轉換1000行的限制,親測可用!壓縮包內含幫助文檔,不過由於軟體的使用很簡單,幫助文檔基本可以忽略。
把C語言代碼轉成Java代碼
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;
}
}
原創文章,作者:UNEH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139096.html