所以我正在编写一个程序,我在尝试使用初始化或从文件中声明一个整数以便在程序中使用它时遇到了麻烦。这就是程序的样子:
import java.util.Scanner;
import java.io.*;
public class WebberProject1
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(new File("portlandvip.txt"));
String fileName = "portlandvip.txt";
while (scanner.hasNext())
{
String firstName = scanner.next();
String lastName = scanner.next();
System.out.println(" " + firstName + " " + lastName);
scanner.nextLine();
}
try {
File file = new File(fileName);
String a,b,c,d;
while (scanner.hasNext()) {
a = scanner.next();
b = scanner.next();
c = scanner.next();
d = scanner.next();
int num = Integer.parseInt(c);
System.out.println(num);
}
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.util.Scanner;
import java.io.*;
public class WebberProject1
{
public static void main(String [] args)抛出IOException {
Scanner scanner = new Scanner(new File("portlandvip.txt"));
while (scanner.hasNext())
{
String firstName = scanner.next();
String lastName = scanner.next();
System.out.println(" " + firstName + " " + lastName);
scanner.nextLine();
}
try {
File file = new File("portland.txt");
String a,b,c,d;
while (scanner.hasNext()) {
a = scanner.next();
b = scanner.next();
c = scanner.next();
d = scanner.next();
int num = Integer.parseInt(c);
System.out.println(num);
}
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这是我正在使用的文件。
Loras Tyrell 5俱乐部
Margaery Tyrell 8 Box
Roslin Frey 2 Box
Sansa Stark 2 Club
Jon Snow 5 Club
Edmure Tully 3 Box
Joffrey Baratheon 20 Court
Stannis Baratheon 4 Club
Jaime Lannister 2 Box
Cersei Lannister 1 Court
Beric Dondarrion 8 Court
Balon Greyjoy 16 Box
Olenna Tyrell 4 Court
梅斯泰瑞尔5盒
Tyrion Lannister 2俱乐部
Sandor Clegane 2 Court
Gregor Clegane 6 Club
Samwell Tarly 3 Club
Petyr Baelish 6 Court
(我更改了间距以使其看起来更漂亮)
我想要做的是使用姓氏后面的数字,以便根据数据给出的座位类型(俱乐部,球场等)将该数字乘以一定数量。但是,我无法弄清楚如何隔离变量和座位类型以将它们用于程序。
这是该计划输出的内容:
Loras Tyrell
Margaery Tyrell
罗斯林弗雷Sansa Stark
Jon Snow Edmure TullyStannis Baratheon
Jaime Lannister
Cersei Lannister
Beric Dondarrion
Balon Greyjoy
Olenna Tyrell
梅斯泰瑞尔
Tyrion Lannister
Sandor Clegane
Gregor Clegane
Samwell Tarly
Petyr Baelish答案 0 :(得分:1)
我用于此问题的最方便的方法是将除数字之外的所有字母替换为空白。
String s="Tyrion Lannister 2 Club";
int i=Integer.parseInt(s.replaceAll("[\\D]", ""));
这会给你String
内的数字,因为我想告诉你它只对你有的字符串有效。
String
"Tyrion Lannister 2 Club and Number 44 "
对244
{{1}}不方便。
答案 1 :(得分:0)
试试这个:
public class WebberProject1 {
public static void main(String[] args) {
String fileName = "portlandvip.txtt";
try {
File file = new File(fileName);
Scanner scanner = new Scanner(file);
String a,b,c,d;
while (scanner.hasNext()) {
a = scanner.next();
b = scanner.next();
c = scanner.next();
d = scanner.next();
int num = Integer.parseInt(c);
System.out.println(num);
}
scanner.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}