Java 从同一对象获取不同的输出

Java 从同一对象获取不同的输出,java,Java,我将为两个不同的对象调用readInput()。但在第一个例子中,我想得到“第一行”的输出,在第二个例子中,我想得到“第二行”的输出。我该怎么办?谢谢 import java.util.*; public class Nokta{ Scanner keyboard = new Scanner(System.in); public void readInput() { System.out.println("for the first line ");

我将为两个不同的对象调用readInput()。但在第一个例子中,我想得到“第一行”的输出,在第二个例子中,我想得到“第二行”的输出。我该怎么办?谢谢

import java.util.*;

public class Nokta{

    Scanner keyboard = new Scanner(System.in);
    public void readInput()
    {
        System.out.println("for the first line ");
        String degerler = keyboard.nextLine();
    }
我会这样称呼:

Nokta dogru1 = new Nokta ();

dogru1.readInput();


Nokta dogru2 = new Nokta ();

dogru2.readInput();
试试这个:

Scanner keyboard = new Scanner(System.in);
public  static int counter = 1;
   public void readInput()
   {
       System.out.println("for the "+counter +"line ");
       String degerler = keyboard.nextLine();
       counter++;
   }

更多信息:静态变量的值对于类的所有对象(或实例)都是相同的

您需要为此使用静态int。简而言之,静态只会在执行时初始化一次,而不会在每次执行
new Nokta()
时初始化。对于什么是静态的,请阅读此示例


编辑: 正如在评论中所说,这将是“对于1行”和“对于2行”,而不是“对于第一行”和“对于第二行”。

如果您想让它作为第一个,您可以按照

操作,您需要增加计数器。如果我没有错的话!当然,这将输出“对于1行”和“对于2行”,而不是“对于第一行”和“对于第二行”。当然,这将输出“对于1行”和“对于2行”,而不是“对于第一行”和“对于第二行”@GriffeyDog是的,你是对的,编辑后通知了这一点,并添加了信息,你如何将其作为word获取。
public class Nokta{
    private static int lineNumber=1;    
    Scanner keyboard = new Scanner(System.in);
    public void readInput()
    {
        System.out.println("for the "+ lineNumber++ +" line ");
        String degerler = keyboard.nextLine();
    }