0
분리 문자가 맞았에 따라 경우에 분리 문자 스위치 스캐너를 만들려면 : 0, 매트이 너무 2, 존내가 톰 켈리, 제인, 같은 물건이있는 텍스트 파일이
을 place // if (******) 나는 Tom, Kelly, Jon을 위해 list.add를 사용하고 싶습니다. Jane, Matt의 경우 0 대신 파일에서 스캔 된 int를 사용하고 싶습니다. Delimiter가 올바른 선택인지 확신 할 수 없으며 거기에있는 스캐너 두 개 모두가 올바르지 않다는 것을 알고 있습니다. 저를 올바른 방향으로 가르쳐주십시오.
Scanner diskScanner = new Scanner(new File("Names.txt"));
diskScanner.useDelimiter(",");
while (diskScanner.hasNext())
{
String n = diskScanner.next();
if(n.contains(":"))
{
int i = n.indexOf(":");
list.add(new Student(Integer.parseInt(n.substring(i+1)), n.substring(0,i)));
}
else
list.add(new Student(0, n));
}
안된 때문에 사용에주의 :
public static Picker fromFile() throws FileNotFoundException
{
ArrayList<Student> list = new ArrayList<Student>();
Scanner diskScanner = new Scanner(new File("Names.txt"));
diskScanner.useDelimiter(", |:");
while (diskScanner.hasNext()) {
//if(******)
list.add(new Student(0, diskScanner.next()));// or list.add(new Student(diskScanner.next(), diskScanner.next()))
}
list = Order.arrange(list);
Picker pick = new Picker(list);
return pick;
이것은 실제로 작동하는 것처럼 보였지만 (int) n.substring (i + 1)을 좋아하지 않습니다. 그것은 호환되지 않는 타입의 에러를 던진다 : java.lang.Srring은 int로 변환 될 수 없다. 드로잉 보드로 돌아갑니다. – Chad
해결책은 https://stackoverflow.com/questions/5585779/how-to-convert-string-to-int-in-java에서 발견되었으며 int foo = Integer.parseInt ("1234")였습니다. – Chad
@Chad 예, 죄송합니다. Java로 코딩 한 지 오래되었습니다. 내 대답을 편집했습니다. 그것이 만족 스럽다고 느끼면 받아 들일 수있는 것으로 표시해 주시면 고맙겠습니다. – Azar