码
import java.util.*;
public class Shivam
{
int age;
void function()
{
if (age<=10)
{
System.out.println("chutiye chota h tu");
}
else
{
System.out.println("bada ho gya saale");
}
}
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int age=sc.nextInt();
Shivam s1=new Shivam();
s1.function();
sc.close();
}
}
答案 0 :(得分:1)
原因是当您使用function()
方法创建自定义类的实例时。
Shivam s1=new Shivam();
int age;
将age
的值设置为原语0
的默认值。
现在打电话
s1.function();
条件
if (age<=10) //evaluates to true
现在,要解决此问题,您应该接受age
作为function()
的参数,而不是作为类的字段:
public static void function(int age) {
if (age<=10) {
...
} else {
...
}
}
然后调用与
相同的方法s1.function(age); // from inside your main method