Java 代码一直跳过输入步骤
我最近开始使用Java,我需要开始一个大项目,但我的代码中出现了一些奇怪的问题,如下所示:Java 代码一直跳过输入步骤,java,input,Java,Input,我最近开始使用Java,我需要开始一个大项目,但我的代码中出现了一些奇怪的问题,如下所示: import java.util.Scanner; public class Sifre { public static void main(String[] args) { Scanner unos = new Scanner(System.in); System.out.println("Unesite broj sifara:");
import java.util.Scanner;
public class Sifre {
public static void main(String[] args) {
Scanner unos = new Scanner(System.in);
System.out.println("Unesite broj sifara:");
int bsif = unos.nextInt();
String sifre[] = new String [bsif];
String imena[] = new String [bsif];
int i,z;
for (i = 0;i<bsif;i++)
{
System.out.println("Unesite sifru broj " + (i+1));
sifre[i] = unos.nextLine();
}
for (z=0;z<bsif;z++)
{
System.out.println(sifre[z]);
}
}
}
添加input.nextLine()
之后
int bsif = unos.nextInt();
添加
unos.nextLine()
在循环之前和该语句之后int bsif=unos.nextInt()
。你会发现关于这个问题的问题很多,所以,把谷歌放在一边。我知道这是一个常见的问题,但我很难用短语回答,以便在搜索引擎中获得任何结果。原因:当你使用Scanner.nextInt()
,它不会使用新行(或其他分隔符)因此,返回的下一个令牌通常是空字符串。因此,您需要使用Scanner.nextLine()
跟踪它。您只需放弃结果即可。@Fokezy供您参考,我在SO上运行了此搜索:[java]+scanner+nextint+skip
和
int bsif = unos.nextInt();