Java 从同一对象获取不同的输出
我将为两个不同的对象调用readInput()。但在第一个例子中,我想得到“第一行”的输出,在第二个例子中,我想得到“第二行”的输出。我该怎么办?谢谢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 ");
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();
}