我正在尝试
Java编程书中的几个练习.我有以下代码:
import java.io.*; import java.util.Scanner; public class Ex420 { public static void main( String args[] ) { String employeeName = ""; double workHours,excessHours,hourlyRates,grosspay; Scanner input = new Scanner( system.in ); while ( employeeName != "stop" ) { System.out.printf( "\nInput employee name or stop to exit: " ); employeeName = input.nextLine(); System.out.printf( "Input working hours: " ); workHours = input.nextDouble(); System.out.printf( "Input hourly rates: " ); hourlyRates = input.nextDouble(); if ( workHours <= 40 & workHours >= 0 ) { excessHours = 0; grosspay = hourlyRates * workHours; System.out.printf( "%s's gross pay is $%.2f\n",employeeName,grosspay ); } else if ( workHours > 40 ) { excessHours = workHours - 40; grosspay = hourlyRates * 40 + 1.5 * hourlyRates * excessHours; System.out.printf( "\n%s's worked for %.1f excess hours.\n",excessHours ); System.out.printf( "%s's gross pay is $%.2f\n",grosspay ); } else { System.out.printf( "Invalid input. Please try again." ); } } // end while } // end main } // end class Ex420
问题是,while循环似乎不起作用.每当我输入“stop”作为employeeName时,程序就会继续.我尝试用任何其他字符串替换“停止”,它仍然无法正常工作.但是当我尝试使用“stop”初始化employeeName时,程序会立即退出,这是预期的.我在这做错了什么?
此外,在第一个循环之后,程序总是跳过询问employeeName.我尝试替换employeeName = input.nextLine(); with employeeName = input.next();它不再跳过它.我想知道,有什么办法可以让我在使用employeeName = input.nextLine()时不跳过输入;?
在此先感谢您的帮助!
解决方法
原文地址:https://www.jb51.cc/java/127353.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。