当前位置:首页 » 编程语言 » c语言转换成java
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言转换成java

发布时间: 2022-05-05 19:11:36

① 把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 语言

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代码

完整的直译为java方法是这样的,但是这样写dataLen的值必须小于等于数组长度,不然会出现下标越界的异常

public int accumulativeVerification(int[] data, int dataLen) {
    int sum = 0;
    for (int i = 0; i < dataLen; i++) {
        sum += data[i];
    }
    return sum;
}

如果是意译(计算int数组的所有数之和),那么java可以这样写

public int accumulativeVerification(int[] data) {
    int sum = 0;
    for (int i = 0; i < data.length; i++) {
        sum += data[i];
    }
    return sum;
}

④ 怎样把一下的C语言程序改成java程序

修改成Java后的代码:

publicclassDemo{
publicstaticintgcd(inta,intb,intc){
intmin,i;
if(a>b){
if(b>c){
min=c;
}else{
min=b;
}
}else{
if(a>c){
min=c;
}else{
min=a;
}
}
if(b>c){
if(c>a){
min=a;
}else{
min=c;
}
}else{
if(b>a){
min=a;
}else{
min=b;
}
}
if(a>c){
if(c>b){
min=b;
}else{
min=c;
}
}else{
if(a>b){
min=b;
}else{
min=a;
}
}
for(i=min;i>=1;i--){
if(a%i==0&&b%i==0&&c%i==0){
break;
}
}
returni;
}

publicstaticvoidmain(String[]args){
inta=1,b=0,c=0,i,k=0,j=0,m=0,n=0,z,y;
while(a<9){
b=1;
while(b<9){
c=1;
while(c<9){
if(gcd(a,b,c)==1){
System.out.println(a+";"+b+";"+c);
k++;
z=b*b-4*a*c;
if(z==0){
j++;
}elseif(z>0){
m++;
for(y=1;y<z/2;y++){
if(y*y==z){
System.out.println("解答是有理数。");
}
}
}else{
n++;
}
}
c++;
}
b++;
}
a++;
}
System.out.println("N="+k);
System.out.println("N2="+j);
System.out.println("N3="+m);
System.out.println("N4="+n);
i=gcd(a,b,c);
}
}

⑤ c语言转化为JAVA~~弄好追加200分!!!!

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Student {

String name;

int score;

public String getName() {
return name;
}

public void setName(String anameme) {
this.name = anameme;
}

public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}

public static void main(String[] args) {
Student student[] = new Student[30];
System.out.println("请输入学生的成绩:");
for (int i = 0; i < student.length; i++) {
System.out.println("请输入姓名:");
//接收键盘的输入
BufferedReader cin = new BufferedReader(new InputStreamReader(
System.in));
try {
student[i].setName(cin.readLine());
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("请输入成绩:");
try {
//这里也是接收但是因为接收上来的是字符串所以要转换成 int类型
//Integer.parseInt(cin.readLine())
student[i].setScore(Integer.parseInt(cin.readLine()));
} catch (IOException e) {
e.printStackTrace();
}
}
//按照你的要求做的逻辑处理
int num = 1;
Student temp = new Student();
for (int i = 0; i < student.length; i++) {
int max = i;
for (int j = i + 1; j < student.length; j++) {
if (student[j].getScore() > student[max].getScore()) {
max = j;
if (max != i) {
temp = student[max];
student[max] = student[i];
student[i] = temp;
}
if ((i > 0)
&& (student[i].getScore() < student[i - 1]
.getScore())) {
System.out.println(num + " " + student[i].getName()
+ student[i].getScore());
num++;
}
}

}
}
}
}
希望是你想要的也希望能帮到你
祝你成功

⑥ 怎么把c语言里的数据类型转换成java的数据类型

楼主你好,
java数据类型有8种数据类型
分别是布尔、short、int、long、浮点型、双精度型、字符型、字节型、
在java中存在的数据类型转换只有两种,
一种是有高到低的自动转换,
另一种是由低到高的强制类型转换。
数据类型由低到高依次是:
byte--->char---->short ---->int----->long---->float---->double
不能与C语言中的类型进行转换.

⑦ 一段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 GUI窗体

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

⑨ C语言转换JAVA

第一题:
public class Test1 {
public static void main(String args[]){
int a, b, c;
for(a = 123; a <= 987; a++){
for(b = 123; b <= 987; b++){
c = a+b;
if(c <= 987 && a<b && Check(a,b,c)){
System.out.println(a +" + "+b+" = "+c);
}
}
}
}

public static boolean Check(int a, int b, int c) {
int num[] =new int[9];
int i, j;
int temp = 0; //没用到
int n = a*1000000+b*1000+c;
for(i=0;i<9;i++)
{
num[9-1-i] = n%10;
if(num[9-1-i] == 0)
return false;
n /= 10;
}
for(i=0;i<8;i++)
for( j=i+1;j<9;j++)
if(num[i]==num[j])
return false;

return true;

}
}
第二题
public class Test2 {
public static void main(String args[]){
//数组为引用类型
int a[]= new int[]{34,42,1,75,56,27,18,84,91,63};
int i;
System.out.println("排序前:");
for (i=0; i<10; i++)
{
System.out.print(a[i]+"\t");
}
System.out.println();
mergesort(a,0,9);
System.out.println("排序后:");
for (i=0; i<10; i++)
{
System.out.print(a[i] +"\t");
}
System.out.println();
}

public static void mergesort(int[] a, int left, int right) {
int middle;
if(left < right){
middle=(left+right)/2;

mergesort(a,left,middle);

mergesort(a,middle+1,right);

merge(a,left,middle,right);
}
}
public static void merge(int a[], int left, int middle, int right){
int n1 = middle - left +1;
int n2 = right - middle;
int[] L = new int[n1 + 1];
int[] R = new int[n2 +1];
int i, k, j = 0;

for(i = 0; i < n1; i++){
L[i] = a[left+i];
}

L[n1] = 100;
for(i = 0; i < n2; i++){
R[i] = a[middle+i+1];
}
R[n2] = 100;
i = 0;
for (k=left; k<=right; k++)
{
if(L[i]<=R[j])
{
a[k]=L[i];
i++;
}
else
{
a[k]=R[j];
j++;
}
}
//Java垃圾回收器自动清理内存
}
}
//运行结果
/*排序前:
34 42 1 75 56 27 18 84 91 63
排序后:
1 18 27 34 42 56 63 75 84 91 */
第三题
public class Test3 {
public static void main(String args[]){
int arry[] = new int[]{67,24,18,3,55};
int i;
quiksort(arry, 0, 3);//注意此处不是4
for(i=0;i<5;i++)
{
System.out.print(arry[i]+"\t");
}
System.out.println();
}

public static void quiksort(int a[], int low, int high){
int i = low;
int j = high;
int temp = a[i];
if( low < high)
{
while(i < j)
{
while((a[j] >= temp) && (i < j))
{
j--;
}
a[i] = a[j];
while((a[i] <= temp) && (i < j))
{
i++;
}
a[j]= a[i];
}
a[i] = temp;
quiksort(a, low, i-1);
quiksort(a, j+1, high);
}else{
return ;
}

}
}
//运行结果为:
//3 18 24 67 55
谢谢*-*

⑩ 把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;
}

}