英文:
No output while using static methods inside a class(the class which has no main function in it)
问题
以下是您提供的内容的翻译部分:
这是我的主类:
public class App {
public static void main(String[] args) {
Student s1 = new Student();
}
}
这是创建的类:
class Student {
public static void f1() {
f2();
}
public static String f2() {
return "hello";
}
public Student() {
f1();
}
}
现在,我在主类中创建了一个名为s1的对象,构造函数被调用,该构造函数包含f1(),所以f1()被调用,现在f1()调用了f2(),所以f2()被调用,因此我认为"hello"必须被打印出来,但实际上没有输出任何内容(什么都没有打印出来)。有人能解释一下可能的原因吗?
英文:
THIS IS MY MAIN CLASS:
public class App {
public static void main(String[] args){
Student s1=new Student();
};
};
THIS IS THE CREATED CLASS:
class Student {
public static void f1(){
f2();
}
public static String f2(){
return "hello";
}
public Student(){
f1();
}
}
Now , as i have created an object s1 in main class, the constructor is called ,which has f1() , so f1() is called , now f1() has f2(), so f2() is called , so i think "hello" must be printed but the output is not printed at all(nothing is printed). Can anyone please explain what the reason could be?
答案1
得分: 4
在打印和返回一个值之间有一个区别。
如果你希望它被打印出来,你应该尝试像这样做:
class Student {
public static void f1(){
f2();
}
public static void f2(){
System.out.print("hello");
}
public Student(){
f1();
}
}
英文:
There is a difference between printing and returning a value.
If you want it to get printed, you should try doing something like this:
class Student {
public static void f1(){
f2();
}
public static void f2(){
System.out.print("hello");
}
public Student(){
f1();
}
}
答案2
得分: 3
"f2()"正在返回"String",但是"f1"没有将其打印出来:
public static void f1(){
System.out.println(f2());
}
public static String f2(){
return "hello";
}
public Student(){
f1();
}
英文:
f2()
is returning the String
, but f1
is not printing it:
public static void f1(){
System.out.println(f2());
}
public static String f2(){
return "hello";
}
public Student(){
f1();
}
答案3
得分: 3
要在控制台日志中打印,您应该尝试:System.out.println("Hello");
您正在返回该值,而不是打印它。
英文:
To be printed at the Console Log you should try: System.out.println("Hello");
You are returning the value not printing it.
答案4
得分: 2
你必须使用 System.out.println("Hello"),而不是 return "hello";
英文:
You have to use System.out.println("Hello") instead of return "hello";
答案5
得分: 2
I方法....
由于f2方法具有返回类型,为了获取从该方法获得的值,需要创建一个与返回类型兼容的引用,并使用相同引用代码编写单词"hello",如下所示:
class Student {
public static void f1() {
String x = f2(); // 调用方法
System.out.println(x);
}
public static String f2() {
return "hello";
}
public Student() {
f1();
}
}
II方法......
你可以尝试这种方式:
class Student {
public static void f1() {
System.out.println(f2()); // 调用方法
}
public static String f2() {
return "hello";
}
public Student() {
f1();
}
}
英文:
I method....
Since the f2 method has a return type, in order to get the value obtained from it, make a reference of the type that is compatible with the return type and write the word hello using the same reference code as follows
class Student {
public static void f1(){
String x=f2(); //method calling
System.out.println(x);
}
public static String f2(){
return "hello";
}
public Student(){
f1();
}
}
II method......
You can try this way...
class Student {
public static void f1(){
System.out.println(f2());//calling method
}
public static String f2(){
return "hello";
}
public Student(){
f1();
}}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论