gpt4 book ai didi

java - 将 C++ 代码转换为 JAVA

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:02 25 4
gpt4 key购买 nike

#include <iostream>

using namespace std;
int fun(int *k);

int main() {
int i = 10, j = 10, sum1,sum2;
sum1 = (i / 2) + fun(&i);
sum2 = fun(&j) + (j / 2);
cout<< sum1<< " "<<sum2<<endl;
}

int fun(int *k) {
*k += 4;
return 3 * (*k) - 1;
}

我必须将我的代码转换为我已经转换过的 Java 代码,但是我找不到我的错误我不能将变量指向彼此..

public class System{

public static void main(String[] args) {
int i = 10;
int j = 10;
int sum1 = (i / 2) + fun(k.value=i);
int sum2 = fun(k.value=j) + (j / 2);
System.out.println("%d%d",sum1,sum2 );
}


public static int fun(int k) {
intobj k;
int k= new k();
k.value += 4;
return 3 * (k.value) - 1;
}
}

这是我查看 int sum1 = (i/2) + fun(k.value=i) 时的 java 代码; int sum2 = fun(k.value=j) + (j/2);关于指向真值的部分是不正确的。我怎样才能解决那个指针问题。谢谢。

最佳答案

问题是您使用的是 int 而不是 intobj,您希望通过引用传递内容(& in C++).

在你的 main 函数中,你应该尝试将 ij 声明为 intobjs 并将你的参数声明为 fun, k 也应该是一个 intobj

代码:

public class System{

public static void main(String[] args) {
intobj i = new intobj();
i.value = 10;
intobj j = new intobj();
j.value = 10;
int sum1 = (i.value / 2) + fun(i);
int sum2 = fun(j) + (j.value / 2);
System.out.println("%d%d",sum1,sum2 );
}


public static int fun(intobj k) {

k.value += 4;
return 3 * (k.value) - 1;
}
}

关于java - 将 C++ 代码转换为 JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23044378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com