Java: я создал программу, которая принимает входные данные для целочисленного массива и отображает значения в таблице.Попытка воссоздать это, используя строковый массив.Pls.Помогите, - PullRequest
0 голосов
/ 23 декабря 2018

Java - мой первый язык программирования, и я до сих пор не знаю, как работают массивы.Тем не менее, я смог сделать эту программу, которая принимает пользовательский ввод для целочисленного массива;затем он выводит индексы и значения, чтобы показать, как массивы хранят числа.Я хотел бы воссоздать эту программу, используя строковый массив, чтобы создать таблицу со списком друзей.

Свойство .length также смущает меня ...

Может кто-нибудь объяснитьсвойство .length и помогите мне заставить работать программу работы с массивом строк?

Большое спасибо.

Вот рабочий код для программы таблицы целочисленных массивов

import java.util.*;

public class AttemptArrayTable 
{
    public static void main(String[] args) 
    {        
        Scanner scan = new Scanner(System.in);
        System.out.println("Let me show you how arrays are stored ");
        System.out.println("How many numbers do you want your array to       
store? ");
        int arrayInput [] = new int[scan.nextInt()];

        System.out.println("Enter numbers ");
        for (int count = 0; count<arrayInput.length; count++)
            arrayInput[count] = scan.nextInt();

        System.out.println("");
        System.out.println("Index\t\tValue");
        for (int count2=0; count2<arrayInput.length; count2++)
            System.out.println(" [" + count2 + "]"+"\t\t  " + arrayInput[count2]);
    }

}

Вот код для программы массива строк, над которой я работаю

import java.util.*;

public class ArrayTableofFriends 
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);

        System.out.println("How many female friends do you have? ");
        String arrayOfFriendsFem [] = new String [scan.nextInt()];
                System.out.println("List the name of your female friends");
                for(int countF = 0; countF<arrayOfFriendsFem.length; countF++)
                        arrayOfFriendsFem[countF]= scan.nextLine();

        System.out.println("How many male friends do you have? ");
        String arrayOfFriendsMale [] = new String [scan.nextInt()];
                System.out.println("List the name of your male friends");
                for(int countM = 0; countM<=arrayOfFriendsFem.length; countM++)
                    arrayOfFriendsMale[countM]= scan.nextLine();

        System.out.println("How many alien friends do you have? ");
        String arrayOfFriendsAliens [] = new String [scan.nextInt()];
                System.out.println("List the name of your alien friends");
                    for(int countA = 0; countA<=arrayOfFriendsFem.length; countA++)
                        arrayOfFriendsAliens[countA]= scan.nextLine();
        {


            System.out.println("Female\t\t\t" + "Male\t\t\t" + "Aliens");
            for(int countF2 = 0; countF2<arrayOfFriendsFem.length; countF2++)
                    System.out.println(arrayOfFriendsFem[countF2]);

            for(int countM2 = 0; countM2<=arrayOfFriendsMale.length; countM2++)
                System.out.println("\t\t\t" + arrayOfFriendsMale[countM2]);

            for(int countA2 = 0; countA2<=arrayOfFriendsAliens.length; countA2++)
                System.out.println("\t\t\t\t\t\t" +arrayOfFriendsAliens[countA2]);

    }
}

1 Ответ

0 голосов
/ 23 декабря 2018

.length свойство хранит количество элементов в массиве.Но элементы начинаются с 0.Таким образом, когда .length = 1, то в массиве есть только один элемент с индексом 0.

В вашей программе String Arrays в цикле for значение <= должно быть изменено на * 1008.*

Как это:

 for (int countA = 0; countA < arrayOfFriendsFem.length; countA++)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...