Итак, я делаю некоторые упражнения на Java, и у меня проблема со строками, которые, кажется, не совсем хорошо обрабатывают пробелы.
Когда я ввожу имя, например «Джо Смит», часть «Смит» заканчивается в переменной программе.И если я напишу «Экономика майор» в переменной программе, вся программа вылетает.(вероятно, потому что points это переменная типа int)
Кажется, пробелы приводят к сбою или странному поведению.Как должны работать пробелы в этом случае?
import java.util.Scanner;
class Student {
String name;
String program;
int points;
Scanner userScan = new Scanner(System.in);
String setName() {
System.out.printf("Please enter name: ");
String scan = userScan.next();
name = scan;
return name;
}
String setProgram() {
System.out.printf("Please enter program: ");
String scan = userScan.next();
program = scan;
return program;
}
int setPoints() {
System.out.printf("Please enter points: ");
int scan = userScan.nextInt();
points = scan;
return points;
}
void printStudent() {
System.out.printf("Name: " + name + "\nProgram:" + program + "\nPoints" + points);
}
}
public class Kap_2_Ovning_2Student {
public static void main(String[] args) {
Student student1 = new Student();
Student student2 = new Student();
student1.setName();
student1.setProgram();
student1.setPoints();
student1.printStudent();