C轉java
import java.util.Scanner;
public class Project {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num, key;
key = sc.nextInt();
while (key-- != 0) {
num = sc.nextInt();
int sum = 0;
int temp = 5;
while (num / temp != 0) {
sum = sum + num / temp;
temp = temp * 5;
}
System.out.println(sum);
}
}
}
格式化代碼截圖如下:
Ⅱ c代碼轉換為java代碼
這個需要先研究c代碼的各個功能,然後再自己編寫成java代碼的。無法直接轉換的。希望能理解
Ⅲ 一段C語言程序轉換為java的寫法謝謝!
按照你的要求,C語言程序轉換成的Java程序如下:
publicclassGGG{
(Stringinput_str){
Stringstr_buff_8="",str_buff_10="",str_return="";
longsum8_1=0,sum8_2=0,sum10_1=0,sum10_2=0;//分別存儲八進制和十進制不同演算法取值的合計for(inti=0;i<input_str.length();i++){//對輸入字元串的每一個位元組進行循環
str_buff_8+=Integer.toOctalString(input_str.charAt(i));//將ASCII碼值轉換成八進制字元串
str_buff_10+=Integer.toString(input_str.charAt(i));//將ASCII碼值轉換成十進制字元串
}
for(inti=1;i<=str_buff_8.length();i++){
sum8_1+=(str_buff_8.charAt(i-1)-'0')*i;
sum8_2+=(str_buff_8.charAt(str_buff_8.length()-i)-'0')*i;
}
for(inti=1;i<=str_buff_10.length();i++){
sum10_1+=(str_buff_10.charAt(i-1)-'0')*i;
sum10_2+=(str_buff_10.charAt(str_buff_10.length()-i)-'0')*i;
}
str_return=""+sum8_1%10+sum8_2%10+sum10_1%10+sum10_2%10;
returnstr_return;
}
publicstaticvoidmain(String[]args){
System.out.println(calculateBillMac("abcdef"));
}
}
運行結果:
2739
這個數據和C語言用字元串"abcdef"測試的結果相同.
Ⅳ C的函數轉換成java
使用詞法分析可以簡單的進行轉換,不過問題是介面,java使用的庫類和函數,c並不一定擁有,而且java運行的方式不同(java可以說是解釋器的腳本,而c最終變成指令集),並不是簡單給出一個函數調用位置就可以解決的,目前的話可以實現個轉化器(如果你學過編譯原理),但前提是不使用介面,或許我們可以像編譯器對string類型的支持那樣實現所有java的庫操作,但這顯然是雞肋,因為這種方法寫的java程序轉換後是很難移植的(顯然我是說硬體廠商不會為你天真的想法提供介面),並且對c風格來說是一種極大的破壞,最後生成的代碼既沒有效率也沒有可移植性和可讀性
結論是你還不如自己實現一個,即使你要轉化一個大游戲,這樣也有效多了
Ⅳ 把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;
}
}
Ⅵ 從c++轉java和c好轉嗎
c++和c的語法很像轉c肯定好轉,轉java剛開始有點不適應,後來你會發現c++干一件事是自己想辦法來干而java你想干一件事你往往不去想怎麼干而是先去查API。
Ⅶ c語言如何轉化為java 語言
public class Test{
public staitc void main(String args){
int i,j,k=3;
for(i=0;i<4;k=k-1-i,i++)
{
for(j=0;j<4+i;j++)
{
if(j<k)
System.out.print(" ");
else
{
System.out.print("*");
j++;
}
}
}
k=3;
}
}
保存為Test.java,然後運行javac Test.java和java Test就可以運行了。。
Ⅷ 如何將以下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方向轉好轉嗎
原則上好轉,不過也要看人的。按道理講,應該是學了c++之後再轉java很簡單。歸根結底都是時間和經驗問題。
Ⅹ 把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;
}
}