Професионална програма
Loading...
+ Нов въпрос
TodorMirchev avatar TodorMirchev 0 Точки

Lab_20_ObjectsAndClasses - Dice

Във връзка с презентацията към тази лекция и по-конкретно в задача Dice, защо след метода: private int sides; 

та въпросът е защо има ; вместо { }, нали след всеки метод трябва да има къдрави скоби?

Тагове:
0
Module: Java Advanced
MartinBG avatar MartinBG 2826 Точки

 Нямам презентацията за да проверя какво има в нея, но това, което си постнал тук не e метод, а е деклариране на private поле на клас от тип int и с име sides:

public class SomeClassName {

    private int sides;

    //Constructor(s), methods
}

Пиши, ако не съм разбрал правилно въпроса ти.

0
TodorMirchev avatar TodorMirchev 0 Точки

Да, благодаря, по-късно в лекцията се поизясни.

Като цяло беше доста объркваща лекцията за мен, доста нови понятия и синтаксис, който не е добре обяснен, кое за какво служи.

0
TodorMirchev avatar TodorMirchev 0 Точки

Може ли още един въпрос, в IntelliJ ми изпълнява безупречно кода, а в Judge гърми на всички проверки с run-time error (това е пета задача от същата лекция):

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Lab_05_Students {
    public static class Student {

    private String firstName;
    private String lastName;
    private int age;
    private String city;

    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    //----------------------------------

    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    //----------------------------------

    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    //----------------------------------

    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }


    public Student(String firstName, String lastName, int age, String city) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
        this.city = city;
    }


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

        List<Student> students = new ArrayList<>();

        String input = sc.nextLine();

        while (!input.equals("end")) {
            String[] tokens = input.split("\\s+");

            String firstName = tokens[0];
            String lastName = tokens[1];
            int age = Integer.parseInt(tokens[2]);
            String city = tokens[3];

            Student currentStudent = new Student (firstName, lastName, age, city); //конструкторът позволява тук да пишем параметри.

            students.add(currentStudent); //записва го в листа.

            input = sc.nextLine();
        }

        String filterCity = sc.nextLine();

        for (Student i: students) {
            if (i.getCity().equals(filterCity)) {
                System.out.printf("%s %s is %d years old%n", i.getFirstName(), i.getLastName(), i.getAge());
            }
        }

    }//end psvm

    }
}
0
katevs avatar katevs 0 Точки

Мисля, че main() метода не трябва да е във вътрешния клас (class Student), а трябва е в основния клас  (Lab_05_Students) т.е. между class Student  и main() метода трябва да има една затваряща фигурна скоба и да изтриеш една скоба след коментара //psvm   . Същото така regex е " " (с интервал), a не "\\s+".

0