Java 从传递到方法的扫描字符串中提取数据
我需要将扫描仪作为参数传递给方法,并让方法根据扫描仪传递的内容打印内容 因此,如果通过的扫描仪包含“6只狐狸3只蜜蜂2 25 8只鸭子” 该方法将打印出来Java 从传递到方法的扫描字符串中提取数据,java,java.util.scanner,Java,Java.util.scanner,我需要将扫描仪作为参数传递给方法,并让方法根据扫描仪传递的内容打印内容 因此,如果通过的扫描仪包含“6只狐狸3只蜜蜂2 25 8只鸭子” 该方法将打印出来 foxfoxfoxfoxfoxfox beesbeesbees 2525 ducksducksducksducksducksducksducksducks 我写这个方法没有问题。我只是不知道如何使用扫描仪来实现这一点。您可以使用next()和nextInt()等方法从扫描仪中读取。您可以阅读完整的扫描仪javadoc。您可以
foxfoxfoxfoxfoxfox
beesbeesbees
2525
ducksducksducksducksducksducksducksducks
我写这个方法没有问题。我只是不知道如何使用扫描仪来实现这一点。您可以使用
next()
和nextInt()等方法从扫描仪中读取。您可以阅读完整的扫描仪
javadoc。您可以使用next()
和nextInt()等方法从扫描仪
读取。您可以阅读完整的扫描仪
javadoc。试试这个。有两种读取输入的方法
1) 封装在BufferedReader中的InputStreamReader
2) JDK1.5中的扫描器类
请参阅本文。这会解决你的问题
试试这个。有两种读取输入的方法
1) 封装在BufferedReader中的InputStreamReader
2) JDK1.5中的扫描器类
请参阅本文。这会解决你的问题
嗯,扫描仪用于从文件或标准输入(System.in
)中读取内容。除非你想封装功能和职责,否则传递它不会给你带来很多好处
如果我们从解决问题的角度思考这个问题,我们真正想要得到什么
- 我们有一个字符串,它包含第一个数字和一个字符串,第二个字符串可以包含数字
- 所有这些符号都用空格隔开
- 所有内容都包含在一行中;我们不必担心转移到下一行
如何实现这一点完全取决于您,但以下是几点建议:
- 由于您知道令牌的精确顺序,因此可以多次调用
Scanner.next()
和Scanner.nextInt()
while(scanner.hasNext()){
System.out.println(readFromScanner(scanner));
}
scanner.close();//如果您正在使用System.in,请不要执行此操作!
从扫描仪读取的公共静态字符串(扫描仪){
StringBuilder结果=新建StringBuilder();
int times=scanner.nextInt();
字符串短语=scanner.next();
for(int i=0;i
- 您还可以使用
nextLine()
一次读入整行,然后使用String.split()
解析整行,这会在每个偶数索引(0、2、4等)处提供数字,在每个奇数索引(1、3、5等)处提供字符串
嗯,扫描仪用于从文件或标准输入(System.in
)中读取内容。除非你想封装功能和职责,否则传递它不会给你带来很多好处
如果我们从解决问题的角度思考这个问题,我们真正想要得到什么
- 我们有一个字符串,它包含第一个数字和一个字符串,第二个字符串可以包含数字
- 所有这些符号都用空格隔开
- 所有内容都包含在一行中;我们不必担心转移到下一行
如何实现这一点完全取决于您,但以下是几点建议:
- 由于您知道令牌的精确顺序,因此可以多次调用
Scanner.next()
和Scanner.nextInt()
while(scanner.hasNext()){
System.out.println(readFromScanner(scanner));
}
scanner.close();//如果您正在使用System.in,请不要执行此操作!
从扫描仪读取的公共静态字符串(扫描仪){
StringBuilder结果=新建StringBuilder();
int times=scanner.nextInt();
字符串短语=scanner.next();
for(int i=0;i
- 您还可以使用
nextLine()
一次读入整行,然后使用String.split()
解析整行,这会在每个偶数索引(0、2、4等)处提供数字,在每个奇数索引(1、3、5等)处提供字符串
您可以通过以下方式传递参数:
在此处输入并接受
System.out.println("Input here: " );
String input = scan.next();
// This how you gonna pass the parameter
inputedByScanner(input);
您的方法接受它并打印输入的值
public void print inputedByScanner(String input){
System.out.println(input);
}
可以通过以下方式传递参数:
在此处输入并接受
System.out.println("Input here: " );
String input = scan.next();
// This how you gonna pass the parameter
inputedByScanner(input);
您的方法接受它并打印输入的值
public void print inputedByScanner(String input){
System.out.println(input);
}
你是从文件中读取的吗?你是从文件中读取的吗?Scanner是像int和Java中的其他类型一样的类型,那么你如何将其他类型传递到函数中呢?做同样的事情来做Scanner type:)是的是的。我忘记了空格分隔符。我很惭愧。Scanner是类似于int和Java中其他类型的类型,那么如何将其他类型传递到函数中呢?做同样的事情来做Scanner类型:)耶耶耶耶。我忘记了空格分隔符。我很丢脸。所以我会在里面使用另一种方法,那么?@ChristopherBaldwin你真的必须把扫描器类型传递给你的函数吗?您是要读取文件还是从控制台读取?@ChristopherBaldwin您只需调用方法名,然后在其中传递参数。然后它会自动打印您输入的内容,所以我会在其中使用另一种方法,然后?@ChristopherBaldwin您真的必须将扫描仪类型传递给您的函数吗?您是要读取文件还是从控制台读取?@ChristopherBaldwin您只需调用方法名,然后在其中传递参数。然后它会自动打印您输入的内容
Enter something:
6 fox 3 bees 2 25 8 ducks
foxfoxfoxfoxfoxfox
beesbeesbees
2525
ducksducksducksducksducksducksducksducks