Lab_20_ObjectsAndClasses - Dice
Във връзка с презентацията към тази лекция и по-конкретно в задача Dice, защо след метода: private int sides;
та въпросът е защо има ; вместо { }, нали след всеки метод трябва да има къдрави скоби?
Във връзка с презентацията към тази лекция и по-конкретно в задача Dice, защо след метода: private int sides;
та въпросът е защо има ; вместо { }, нали след всеки метод трябва да има къдрави скоби?
Нямам презентацията за да проверя какво има в нея, но това, което си постнал тук не e метод, а е деклариране на private поле на клас от тип int и с име sides:
public class SomeClassName {
private int sides;
//Constructor(s), methods
}
Пиши, ако не съм разбрал правилно въпроса ти.
Да, благодаря, по-късно в лекцията се поизясни.
Като цяло беше доста объркваща лекцията за мен, доста нови понятия и синтаксис, който не е добре обяснен, кое за какво служи.
Може ли още един въпрос, в 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 } }Мисля, че main() метода не трябва да е във вътрешния клас (class Student), а трябва е в основния клас (Lab_05_Students) т.е. между class Student и main() метода трябва да има една затваряща фигурна скоба и да изтриеш една скоба след коментара //psvm . Същото така regex е " " (с интервал), a не "\\s+".