我正在做一个网上购物的学校项目,并且发生错误,当我输入y后,有一部分选择您要购买的产品,在选择变量时,cmd会自动输入“”。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
foreach (IMutableEntityType entityType in modelBuilder.Model.GetEntityTypes())
{
entityType.Relational().TableName = entityType.DisplayName();
}
modelBuilder.Entity<AzureDataExtract>().ToTable("AzureSchemaVersionExecutionExtract","dbo");
}
答案 0 :(得分:1)
如果该行为空,则可以跳过该行:
String line = br.readLine();
if (line.isEmpty()) continue;
int choice = Integer.parseInt(br.readLine());
答案 1 :(得分:1)
这里:
c1=(char)br.read();
这将从您的输入中读取单个字符。我想你确实输入了
键盘上的yENTER
。事实是:您只读那个字符,而不是换行符/换行符。因此,该部分将“保留”在您的输入中,并且当您执行后续的readLine()
时,您会得到该 ENTER 部分,并将其简化为一个空字符串。
一种解决方案:使用readLine()
进行所有读取,然后简单地
while(!stringFromUser.equalsIgnoreCase("n)) {
例如。另外,您可以在进行readLine()
之前在 之前简单地进行“伪造” Integer.parseInt(br.readLine());
呼叫。
最后:我假设您在System.in上使用(Buffered)Reader。那没有太大意义。您可以改用Scanner
。 (有关指导,请参见here)
答案 2 :(得分:0)
使用扫描仪从控制台读取:
Scanner in = new Scanner(System.in);
String s = in.nextLine();