public class Masterkey{
String password;
int length;
public Masterkey(String password, int length) {
this.password = password;
this.length = length;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
public class Data{
String website;
String username;
String password;
public Data(String website, String username, String password) {
this.website = website;
this.username = username;
this.password = password;
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
import java.util.ArrayList;
public class PasswordManagement{
private ArrayList<Data> data;
private ArrayList<Masterkey> masterkey;
public PasswordManagement() {
data = new ArrayList<Data>();
masterkey = new ArrayList<Masterkey>();
}
//Methodes for adding
public void addUser(String website, String username, String password){
data.add(new Data(website, username, password));
}
public void addMasterkey(String password, int length){
masterkey.add(new Masterkey(password, length));
}
//Methode for showing the values
public String showData(){
String s = "ID\t\t\tWebsite\t\t\tUsername\t\t\tPassword";
for(Data u : data){
s = s + "\n" + data.indexOf(u)+ "\t\t\t" + u.getWebsite() + "\t\t\t" + u.getUsername() + "\t\t\t" + u.getPassword();
}
return s;
}
//Methodes for searching after values
public Data sucheUsername(String username){
for(Data a : data){
if(username.equals(a.getUsername())){
return a;
}
}
return null;
}
public Data sucheWebsite(String website){
for(Data a : data){
if(website.equals(a.getWebsite())){
return a;
}
}
return null;
}
//Methode for getting the index
public int getIndexByUsername(String username)
{
for(Data a : data)
{
if(a.getUsername().equals(username))
return data.indexOf(a);
}
return -1;
}
//Methode for removing the selected index
public void removeData(int index){
data.remove(index);
}
// Methodes for updating the selected values
private void updateMasterkey(int index,Masterkey password) {
masterkey.set(index, password);
}
private void updateUsername(int index, Data username){
data.set(index, username);
}
private void updateWebsite(int index, Data website){
data.set(index, website);
}
private void updatePassword(int index, Data password){
data.set(index, password);
}
}
import java.io.*;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class PasswordManagementUI {
public static void main(String[] args) throws IOException {
PasswordManagement m = new PasswordManagement();
Scanner scanner = new Scanner(System.in);
int i;
String inputWebsite, inputUsername, inputPassword = null;
String order;
String leftAlignFormat = "| %-15s | %-4d |%n";
String fileName = "settings.txt";
String output = "output.txt";
boolean line;
//Titel
System.out.printf("Version 0.1:\n");
System.out.format("+----------------------------------++----------------------------------+%n");
System.out.printf("| Passwordmanagement byk |%n");
System.out.format("+----------------------------------++----------------------------------+%n");
try{
FileReader filereader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(filereader);
while(line = bufferedReader.readLine() != null) {
System.out.println(line);
}
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println("Unable to open file '" + fileName + "'");
}
catch(IOException ex) {
System.out.println("Error reading file '" + fileName + "'");
}
do {
//Spacer
System.out.println();
System.out.println();
System.out.println();
//Auflistung der Befehle
System.out.println("Pick on of these commands:");
System.out.println(" - list // listing the current saved passwords");
System.out.println(" - add // adding a password");
System.out.println(" - update // updating a password");
System.out.println(" - remove // removing a password");
System.out.println(" - cancel // closing the application");
System.out.println(" - save // saving the actual state");
//Abfrage nach Befehl
System.out.format("+-------------------------+%n");
System.out.printf("| What do you want to do? |%n");
System.out.format("+-------------------------+%n");
System.out.format("Insert: ");
order = scanner.next();
//IF - Befehleingabe
if(order.equals("list")) {
System.out.println("'list' is being initialized...");
System.out.println(m.showData());
}
if (order.equals("add")) {
System.out.println("'add' is being initialized...");
System.out.print("Website? = ");
inputWebsite = scanner.next();
System.out.print("\nUsername? = ");
inputUsername = scanner.next();
System.out.print("\nPassword? = ");
inputPassword = scanner.next();
m.addUser(inputWebsite, inputUsername, inputPassword);
}
if (order.equals("update")) {
System.out.println("'update' is being initialized...");
}
if(order.equals("remove")) {
System.out.println("'remove' is being initialized...");
System.out.println("What is the Index?: ");
i = scanner.nextInt();
m.removeData(i);
}
if (order.equals("cancel" )) {
System.out.println();
System.out.println("<3<3<3<3<3<3<3<3<3<3<3<3");
System.out.println("Thank you for using me ;)");
System.out.println("<3<3<3<3<3<3<3<3<3<3<3<3");
}
List<String> list = new ArrayList<>();
String[] array = list.toArray(new String[] {});
} while (!order.equals("cancel"));
}
}
Probleme:
1. "update" (unter PasswordmanagementUI und Passwordmanagement) funktioniert nicht.
2. Speicherung und Lesen von einer "output" Datei fehlt.
Kann das jemand lösen? Bezahlung -> PN