Jak zainicjować w konstruktorach pustą jednowymiarową n-elementową tablicę znaków?

0

Witam, pytanie jak w temacie. Sama deklaracja pola nie wskazuje błędów i mam nadzieję, że jest dobra. Problem zaczyna się z konstruktorami. Poniżej moja nieudolna próba:

public class Konto {
	private String imie;
	private char[] haslo ={};

	//konstruktor bezparametrowy tworzy konto
	public Konto(){
		this.imie = "";
		this.haslo = {};
	}

	//konstruktor tworzy konto
	public Konto(String imie, char[] haslo){
		this.imie = imie;
		this.haslo = {};
	}

}
1
char[] haslo = new char[] {};
0

dziękuję za pomoc, wszystko działa:)

0

Możesz wpisać niewidoczne hasło na oba sposoby (klasy Console i JOptionPane).

import java.util.*;
import java.io.*;
import javax.swing.*;

public class Password
{
    public static void main(String[] args)
    {
        Console console = System.console();
        char[] pass1 = console.readPassword("%s","Podaj haslo: ");
        System.out.println(Arrays.toString(pass1));

        JPasswordField pf = new JPasswordField(12);
        pf.setEchoChar('*');
        String[] options = {"Zapisanie","Rezygnacja"};
		int result = (JOptionPane.showOptionDialog(null,pf,"Podaj hasło",JOptionPane.YES_NO_OPTION,
                      JOptionPane.INFORMATION_MESSAGE,null,options,pf));
        if(result == JOptionPane.YES_OPTION)
        {
            char[] pass2 = pf.getPassword();
            System.out.println(Arrays.toString(pass2));
        }
    }
}
0

Próbuję tego pierwszego sposobu z konsolą (kod z książki), ale wychodzi mi: Exception in thread "main" java.lang.NullPointerException. Kod:

import java.io.Console;
import java.util.Scanner;
import java.util.logging.ConsoleHandler;

public class CwKoduZKsiazki {

	public static void main(String[] args) {

		Console cons = System.console();

		String user = cons.readLine("Wpisz nazwę użytkownika: ");
		char [] pass = cons.readPassword("Hasło: ");
		System.out.println("Nazwa użytkownika: " + user + "\nHaslo:" + pass.toString());
	}
}
0

Pierwszy kod (ten z Console) wymaga uruchomienia programu poza IDE (Eclipse, NetBeans, IntelliJ,...). W IDE System.console(); zrwaca null.

1 użytkowników online, w tym zalogowanych: 0, gości: 1