如何在私有变量中手动输入值

时间:2015-11-27 14:56:56

标签: java

我有一个问题,我无法在私人变量中输入值 如何制作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方法,Exceptionthrown。你能解释一下这是什么问题吗?

2 个答案:

答案 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());
}