import java.util.Scanner;
public class LAB1201 {
static int multi(int a, int b){
int c = 0;
if (b == 0) {
c = 0;
}
if (b < 0) {
c = (-multi(a, -b));
}
if (b > 0) {
c = (a + multi(a, b-1));
}
return c;
}
public static void main(String[]args){
int aa;
int bb;
Scanner scanner = new Scanner(System.in);
System.out.println("Type in a integer");
aa = scanner.nextInt();
System.out.println("Type in another integer");
bb = scanner.nextInt();
multi(aa,bb);
}
}
我正在编码 (写一个递归函数,使用递归将两个数字x和y相乘(不要 使用乘法运算符)。您的主要方法应该提示用户输入两个 数字,调用你的函数,并打印结果)
它允许我输入值,但我不确定为什么它不返回任何值 它什么也没有返回......
答案 0 :(得分:0)
您忘记输出值。
System.out.println(aa + " x " + bb + " = " + multi(aa,bb));
输出示例:
Type in a integer
4
Type in another integer
8
4 x 8 = 32
答案 1 :(得分:0)
你的代码很好。您只是忘了打印方法static int multi(int a, int b)
返回的结果。您可以找到工作代码here
答案 2 :(得分:0)
您缺少打印声明。这是代码,请看一下。
import java.util.Scanner;
public class so {
static int multi(int a, int b){
int c = 0;
if(b<0){
return c=(-multi(a, -b));
}
if(b>0){
return c=(a+multi(a, b-1));
}
return c;
}
public static void main(String[]args){
int aa;
int bb;
Scanner scanner = new Scanner(System.in);
System.out.println("Type in a integer");
aa = scanner.nextInt();
System.out.println("Type in another integer");
bb = scanner.nextInt();
System.out.println(multi(aa,bb));
}