我有一个问题,我无法在私人变量中输入值
如何制作setNama
方法进行编辑
代码
import java.util.Scanner;
public class customer {
private String nama;
private String password;
private int saldo;
public void setNama(String nama) {
this.nama = nama;
Scanner input = new Scanner(System.in);
System.out.println("Nama akun : ");
nama = input.nextLine();
input.close();
}
public String getNama() {
return nama;
}
}
我认为这是正确的
public class openBioskop {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
customer akun = new customer();
akun.setNama(String nama);
System.out.println("nama akun anda : "+akun.getNama());
}
}
但我无法从main访问此setNama
方法,Exception
为thrown
。你能解释一下这是什么问题吗?
答案 0 :(得分:1)
您正在以这种方式调用方法:
akun.setNama(String nama);
在语法上不正确,您需要传递一个存在的变量(此范围内不存在nama
),并且在调用该方法时不应指定其String类型。
此外,您正在使用
读取方法内的值Scanner input = new Scanner(System.in);
这不是一个好主意。建议:
public class openBioskop {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
customer akun = new customer();
Scanner input = new Scanner(System.in);
System.out.println("Nama akun : ");
nama = input.nextLine();
akun.setNama();
input.close();
System.out.println("nama akun anda : "+akun.getNama());
}
}
和
import java.util.Scanner;
public class customer {
private String nama;
private String password;
private int saldo;
public void setNama(String nama) {
this.nama = nama;
}
public String getNama() {
return nama;
}
}
答案 1 :(得分:1)
尝试从setNama
(...)方法中删除此块。
Scanner input = new Scanner(System.in);
System.out.println("Nama akun : ");
nama = input.nextLine();
input.close();
并正确设置您的方法:
akun.setNama("Jhon");
如果您想使用扫描仪进行输入,可以使用以下主方法编写:
public static void main(String[] args) {
customer akun = new customer();
Scanner input = new Scanner(System.in);
System.out.println("Nama akun : ");
String nama = input.nextLine();
akun.setNama(nama);
System.out.println("nama akun anda : "+akun.getNama());
}