package Evaluare1;
import java.util.*;
public class e15 {
public static void main(String[]args){
Scanner s = new Scanner(System.in);
int a = s.nextInt();
f(a);
//i don't have errors when i run it
}
//this method won't return the value when i call it
public static int f(int x){
if(x%2 <= 0){
return x/2;
}else
return x * 3 + 1;
}
}
我该如何解决这个问题?
答案 0 :(得分:2)
如果你想要做的是打印f()
的结果而不是简单地调用该函数,因为所做的就是返回你忽略的结果。而是尝试这样的事情:
import java.util.*;
public class e15 {
public static void main(String[]args){
Scanner s = new Scanner(System.in);
int a = s.nextInt();
System.out.println(f(a));
//i don't have errors when i run it
}
//this method won't return the value when i call it
public static int f(int x){
if(x%2 <= 0){
return x/2;
}
else
return x * 3 + 1;
}
}
请注意System.out.println(f(a));
。这会将您的结果打印到标准输出,通常是您的shell。
答案 1 :(得分:0)
添加System.out.println()以在控制台上打印。
答案 2 :(得分:0)
如果您正在尝试学习java,请尝试使用PrintStream.class中的不同方法
例如,
public class e15 {
public static void main(String[]args){
Scanner s = new Scanner(System.in);
int a = s.nextInt();
System.out.print(f(a));
//i don't have errors when i run it
}
//this method won't return the value when i call it
public static int f(int x){
if(x%2 <= 0){
return x/2;
}else
return x * 3 + 1;
}}
在这里我使用了PrintStream类中的print函数,它打印了特定的整数(重载方法),你也可以使用printf,你想在没有连接的情况下将值插入字符串的确切位置,对于像这样的数字,使用%s作为字符串%d。
println的优点是它可以在新行中打印。
玩它会很有趣。