Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印下面给定的第n行_Java - Fatal编程技术网

Java 打印下面给定的第n行

Java 打印下面给定的第n行,java,Java,我有这个代码找到一个给定的行,并打印它下面的5行。我想修改它,使其只打印下面第n行 例如: 猫 狗 猪 马 如果我想找到包含cat的行,并且我想在它下面打印第二行,它会打印“pig”。或者如果我想打印它下面的第一行,它会打印“dog” 或者,如果给定的行包含“dog”,并且我想打印下面的第一行,那么它将打印“pig” 代码如下: if (line.contains("string")) { for (int a = 0; in.hasNextLine() && a &

我有这个代码找到一个给定的行,并打印它下面的5行。我想修改它,使其只打印下面第n行

例如:

如果我想找到包含cat的行,并且我想在它下面打印第二行,它会打印“pig”。或者如果我想打印它下面的第一行,它会打印“dog”

或者,如果给定的行包含“dog”,并且我想打印下面的第一行,那么它将打印“pig”

代码如下:

if (line.contains("string")) {
    for (int a = 0; in.hasNextLine() && a < 6; a++) {
         System.out.println(line);
         line = in.nextLine();
    }
}
if(line.contains(“string”)){
对于(int a=0;in.hasNextLine()&&a<6;a++){
系统输出打印项次(行);
line=in.nextLine();
}
}
我将如何修改它以满足我的需要?谢谢。

存储行号(
lineNum
),然后循环直到达到该行号。然后打印上次迭代的
nextLine()
中的
line
中存储的最后一行

public void printLineN(int lineNum){
if(行包含(“字符串”)){

对于(int a=0;in.hasNextLine()&&a可以执行以下操作:

String word = ..
int n = ...

if (line.contains(word)) {
    int a = 0;
    while (in.hashNextLine && a++ != n)
        line = in.nextLine();

    if (a == n) {
        System.out.println(line);
    } 
    else {
        System.out.println("Error: There is only " + a + " entries after the word " + word);
    }    
}

一旦找到单词,while循环将尝试将读取器推进到找到单词后的第n行。如果有足够的行可用,则将打印第n行,否则将打印错误。

好的,您的问题是什么?我将如何修改代码?如果条件
a<6
适用于所选行后的第5行nt,则第n行需要条件
a
(或
a
String word = ..
int n = ...

if (line.contains(word)) {
    int a = 0;
    while (in.hashNextLine && a++ != n)
        line = in.nextLine();

    if (a == n) {
        System.out.println(line);
    } 
    else {
        System.out.println("Error: There is only " + a + " entries after the word " + word);
    }    
}