Как сделать цикл менее беспорядочным и функционировать так, как это должно быть - PullRequest
0 голосов
/ 01 января 2019

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

Ошибкичто я заметил, что цикл отключен на одну ошибку, поэтому включен "<=" "|". Я перешел на инициализатор массива, который может быть менее подвержен ошибкам.Цикл только что распечатал значения индекса, а не строку.Я изменил массив на класс массива и получаю ошибки, которые есть.«Конструктор урока не может применяться к объявленным типам, фактические аргументы и аргументы формы различаются по длине». Я посмотрел на объявление Javadoc.и увидел, чтобы объявить в конструкторе такое.= новый ArrayList (Length) или что-то в этом роде, но я не хочу ничего перезаписывать.Я пытался получить поддержку в NetBeans для решения этой проблемы, но получал ту же ошибку, когда реализовывал код, точно такой же, который реализует поддержка NetBeans для первого элемента массива </p>

Код цикла, который я хотел бы функционировать эффективно

Lesson[] lessonList = new Lesson [4];


lessonList[0] =  new Lesson ("Zumba");
lessonList[1] = new Lesson("Spin");
lessonList[3] = new Lesson("Yoga");
lessonList[4] = new Lesson("BodySculpt");

for(int count = 0; count <= lessonList.length; | count++){
    System.out.println((count + 1) + ". " + lessonList[count]);
}

System.out.println("Please select ");
int selection = sc.nextInt();
selection -= 1;

if(selection >lessonList.length | selection < 0) {
    System.out.println(" You have entered invalued value.");
    lessonsList();
    System.out.println("Can you please re-enter selection  .");
} 

return selection;             

возникновение ошибки связано с классом урока с конструктором Ошибка «Конструктор урока не может применяться к объявленным типам, фактические аргументы и аргументы формы различаются по длине» *

public class Lesson {

    private String lessonTitle;
    private String lessonDate;
    private int lessonPrice;
    private Rating rating;

    public void Lesson (String title) {
        this.setTitle(title);
        rating = new Rating();
    }

    public void lesson (String zumba, 
                        String spin, 
                        String yoga, 
                        String bodysculpt ) 
    { 

        /// tried declaring recieve errors 
    }

    public Lesson() {
        this.lessonTitle = "Udentified";
        this.rating = new Rating();
    }

Ожидаемые результаты будутустранять недостатки в цикле и подсказки базового решения для конструктора.так что я могу работать над следующими элементами

1 Ответ

0 голосов
/ 02 января 2019
import java.util.*;
public class Tester {
    public static void main(String [] args) {
        Scanner sc = new Scanner(System.in);
                Lesson [] lessonList = new Lesson [4];
                lessonList[0] =  new Lesson ("Zumba", "Monday & Wednesday", 100, 3.4);
                lessonList[1] = new Lesson("Spin", "Tuesday & Thursday", 80, 3.9);
                lessonList[2] = new Lesson("Yoga", "Sunday", 83, 4.0);
                lessonList[3] = new Lesson("BodySculpt", "Friday and Saturday", 90, 3.85);


                for(int count = 0; count < lessonList.length; count++){
                    System.out.println((count + 1) + ". " + lessonList[count]); 
                }

                System.out.println("Please select between 1 - 4 for the lessons ");
                int selection = sc.nextInt();
                selection -= 1;
                while(selection >lessonList.length | selection < 0) {
                    System.out.println("Can you please re-enter selection  .");
                    selection = sc.nextInt();
                }
                System.out.println((selection + 1) + ". " + lessonList[selection]); 
    }
}

public class Lesson {

    private String lessonTitle;
    private String lessonDate;
    private double lessonPrice;
    private double rating;

    public Lesson() { //default constructor
        this.lessonTitle = null;
        this.lessonDate = null;
        this.lessonPrice = 0;
        this.rating = 0;
    }

    public Lesson (String title, String date, double price, double rate) { //second constructor
        this.lessonTitle = title;
        this.lessonDate = date;
        this.lessonPrice = price;
        this.rating = rate;
    }

**//When you want to print a class, you must need a toString method defined right**

    public String toString () {
        return "Lesson Title: " + this.lessonTitle + ", Lesson Date: " + this.lessonDate + ", $" + this.lessonPrice + ", Rate: " + this.rating;
    }

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