「c代码翻译java」翻译c语言

博主:adminadmin 2022-11-29 13:25:06 53

今天给各位分享c代码翻译java的知识,其中也会对翻译c语言进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何将下面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语言代码,麻烦大家帮我解释下。原先的代码是C写的,现在要翻译成Java的,搞得小弟这个C盲很伤

方法1

PUBLIC short *make_pair_table(const char *structure)

{

/* returns array representation of structure.

table[i] is 0 if unpaired or j if (i.j) pair. */

short i,j,hx;

short length;

short *stack;

short *table;

length = (short) strlen(structure);//structure的长度

stack = (short *) space(sizeof(short)*(length+1));//stack是一个short型的指针数组,这里是分配空间

table = (short *) space(sizeof(short)*(length+2));//table和stack类似

table[0] = length;

for (hx=0, i=1; i=length; i++) {

switch (structure[i-1]) {//访问structure数组遍历,进行括号匹配

case '(':

stack[hx++]=i;//括号开始就+1

break;

case ')':

j = stack[--hx];

if (hx0) {

fprintf(stderr, "%s\n", structure);

nrerror("unbalanced brackets in make_pair_table");

}

table[i]=j;//存放左括号所在位置

table[j]=i;//存放右括号所在位置

break;

default: /* unpaired base, usually '.' */

table[i]= 0;

break;

}

}

if (hx!=0) {

fprintf(stderr, "%s\n", structure);

nrerror("unbalanced brackets in make_pair_table");

}

free(stack);//释放空间

return(table);//返回括号匹配结果

}

把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代码翻译java的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。