gpt4 book ai didi

JAVA初学者求助需要在循环中输入字符串

转载 作者:行者123 更新时间:2023-11-29 07:12:52 24 4
gpt4 key购买 nike

我是 Java 的初学者,我有一个问题要解决:问题提示用户输入 5 次,股票名称,然后是股票价格,然后是所拥有的股票数量,我们应该计算所有股票值(value)的总和,我只使用循环的两个提示写了它,但是我的问题是,在第二次提示时,循环跳过第二个股票名称的字符串输入而不是提示...下面是代码:

import java.util.Scanner;
public class test1 {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double sharePrice =0,stockPrice = 0, temp = 0 ;
int i = 0;
double sum=0;
String name;
while (i < 2) {
System.out.println("Enter the Name of the Stock ");
name = input.nextLine();

System.out.println("Enter the Share price ");
sharePrice = input.nextDouble();

System.out.println("Enter the number of owned shares");
int numberOfshares = input.nextInt();
stockPrice = sharePrice * (double)(numberOfshares);

sum += stockPrice;

i++;
}
System.out.println("the total stockprice owned is: " + sum );
}
}

这是我得到的输出:

  Enter the Name of the Stock 
nestle
Enter the Share price
2
Enter the number of owned shares
4


Enter the Name of the Stock
Enter the Share price

是什么让输入在第二个循环中跳过?

最佳答案

同样,根据我的评论,问题是您的代码在调用 nextInt()nextDouble() 时不处理行尾 (EOL) 标记。

解决方案是在获取 int 和 double 之后使用 input.nextLine() 来吞下 EOL token :

sharePrice = input.nextDouble();
input.nextLine(); // add this

System.out.println("Enter the number of owned shares");
int numberOfshares = input.nextInt();
input.nextLine(); // add this
stockPrice = sharePrice * (double)(numberOfshares);

关于JAVA初学者求助需要在循环中输入字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12122878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com