Как добавить введенную строку в двумерный массив без перезаписи предыдущей записи? - PullRequest
0 голосов
/ 25 апреля 2019

Я создаю простое хранилище паролей, которое представляет собой двумерный массив [20] [3]. Я могу ввести одну строку, затем поместить ее в массив, но при вводе второй записи она перезаписывает предыдущую запись.

Я попытался добавить второй цикл for, чтобы он пропустил следующую строку после добавления новой записи.

import java.util.Arrays;
import java.util.Scanner;

public class passSimple 
{
static char[][] conversionTable = new char[27][2];
static String[][] passVault = new String[20][3];
static String password = "";
static String username = "";
static String website = "";

public static void main(String[] args) 
{
    getMorePass();
}

public static void getMorePass()
{
    Scanner input = new Scanner(System.in);

    System.out.println("What website is this for? (No space and all capitals): ");
    website = input.next();

    System.out.println("Whats your username? (No space and all capitals): ");
    username = input.next();

    System.out.println("Whats your password? (No space and all capitals): ");
    password = input.next();

    System.out.println("Would you like to add another password? ");
    String check = input.next();

    AddPassword(password, username, website);
    System.out.println();

    if(check.compareTo("YES") == 0)
    {
        getMorePass();
    }
    else;
}

public static void addPassword(String password, String website, String username)
{
    //SavePassword

    for (int x = 0; x < passVault.length; x++)
    {
        for (int y = 0; y < passVault.length;y++)
        {
        passVault[x][y] = username;
        passVault[x][y] = website;
        passVault[x][y] = password;
        }
    }
    System.out.println(Arrays.toString(passVault[1]));
}

}

Я ожидаю, что результат будет "

[website2, username2, password2]


[website1, username1, password1]

но вместо этого [website1, username1, password1] заменяется [website2, username2, password2]

1 Ответ

0 голосов
/ 25 апреля 2019

предлагаю вам

public static void addPassword(String password, String website, String username){
   for (int x = 0; x < passVault.length; x++){          
      if(passVault[x][0]==null && passVault[x][0]==null && passVault[x][0]==null){
         //put only if there are no value
         passVault[x][0] = username;
         passVault[x][1] = website;
         passVault[x][2] = password;
         break;
      }
    }
    System.out.println(Arrays.toString(passVault[1]));
}

Но это может быть проще с List

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...