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

时间:2014-11-06 21:14:24

标签: java

我将为两个不同的对象调用readInput()。但在第一个我希望输出为#34;对于第一行" ,在第二个我想得到输出为"为第二行"。我能怎么做?谢谢。

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();

2 个答案:

答案 0 :(得分:1)

试试这个:

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++;
   }

更多信息:静态变量的值对于类

的所有对象(或实例)都是相同的

答案 1 :(得分:1)

你需要使用static int。简而言之,静态只会在执行时初始化一次,每次执行时都不会初始化new Nokta()对于静态和示例,请阅读link

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();
    }

编辑:

在评论中,这将说“对于1行”和“对于2行”而不是“对于第一行”和“对于第二行”。
如果您想首先使用它,可以按How to convert number to words in java