دریافت مقدار در جاوا
سوال
1 2 3 4 |
double a = scanner.nextDouble(); String at = scanner.nextLine(); String bt = scanner.nextLine(); خب وقتی داده میدم سومی کار نمیکنه یعنی بعد از دومی میپره به مراحل بعد |
در حال بررسی
0
انجمن برنامه نویسان جاوا
1 سال
1 پاسخ
113 دیده شده
0
پاسخ ( ۱ )
مشکل اینجاست که شما در اولین ورودی یک مقدار double مانند ۱۲۳٫۰ وارد می کنید و بعد اینتر می زنید که رشته ای به صورت زیر ساخته میشه:
۱۲۳٫۵n
ولی متود Scanner.nextDouble فقط مقدار ۱۲۳٫۰ رو می خونه و مصرف میکنه، پس یک کاراکتر newline در انتها می مونه که توسط Scanner.nextLine بعدی مصرف میشه و مقدار متغیر at یک رشته خالی خواهد بود و بعد از مصرف اون newline حالا Scanner.nextLine سومی میتونه مقدار بعدی دریافت کنه و درست کار میکنه.
برای حل این مشکل دو راه حل وجود داره:
۱٫ بعد از Scanner.nextDouble یک Scanner.nextLine قرار بدید.
۲٫ با Scanner.nextLine مقدار double را دریافت کنید و بعد توسط Double.parseDouble آن را به یک مقدار double تبدیل کنید.