Java编程:请看题目,在下面,麻烦给出完整的解答。我是个菜鸟,谢谢

import java.util.Scanner;class Test { public static final String STR_INPUT_N = "请输入小明的自有话费(整数),N:"; public static final String STR_INPUT_M = "请输入每使用多少元就可以获赠1元,M:"; public static final String STR_INPUT_N_AGAIN = "请再次输入小明的自有话...
Java编程:请看题目,在下面,麻烦给出完整的解答。我是个菜鸟,谢谢
输入n

day = 0;
t=0;
while (n<1) {
n=n-1
t+=1;
if(t==m){
n+=1;
t=0;
}
day +=1;
}
输出 day2018-02-26
import java.util.Scanner;class Test { public static final String STR_INPUT_N = "请输入小明的自有话费(整数),N:"; public static final String STR_INPUT_M = "请输入每使用多少元就可以获赠1元,M:"; public static final String STR_INPUT_N_AGAIN = "请再次输入小明的自有话费N,注意是整数:"; public static final String STR_INPUT_M_AGAIN = "请再次输入每使用多少元就可以获赠1元,M,注意是整数:"; /** * 当前正在输入M */ public static final int INPUT_M = 0; /** * 当前正在输入N */ public static final int INPUT_N = 1; /** * 某通讯公司开展一个活动,电话费每使用M元就可以获赠1元。已知小明的电话费一开始有N元,每天的电话费为1元,小明最多能打多少天的电话?(2 <= M<= N <= 1000) * 说明:首先输入一个整数N,代表小明自有的电话费,然后输入一个整数M,代表活动中每使用M元即可获赠1元。请输出小明可以通话的天数。 * 例如输入:20 5程序需要输出:24 * 要求:用循环语句实现。 */ public static void main(String args[]) { int phoneCharge = getLeftCharge(INPUT_N); int discounts = getLeftCharge(INPUT_M); if (phoneCharge >= discounts) { //计算可多获得的收益 printResult(phoneCharge / discounts + phoneCharge); } else { printResult(phoneCharge); } } /** * 获取当前输入的现金,如果输入的不是整数,要求重新输入 * * @param type 输入的类型 {@link #INPUT_N}; {@link #INPUT_M} * @return 话费 */ private static int getLeftCharge(int type) { printInputHint(type == INPUT_N ? STR_INPUT_N : STR_INPUT_M); while (true) { try { Scanner scanner = new Scanner(System.in); return scanner.nextInt(); } catch (Exception e) { printInputHint(type == INPUT_N ? STR_INPUT_N_AGAIN : STR_INPUT_M_AGAIN); } } } /** * 打印输入提示语 * @param type */ private static void printInputHint(String type) { System.out.println(type); } /** * 打印计算的结果 * @param result */ private static void printResult(int result) { System.out.println(String.format("小明可以通话的天数:%d",result)); }}2018-02-26
mengvlog 阅读 33 次 更新于 2025-09-10 06:21:04 我来答关注问题0
  • import java.util.Scanner;class Test { public static final String STR_INPUT_N = "请输入小明的自有话费(整数),N:"; public static final String STR_INPUT_M = "请输入每使用多少元就可以获赠1元,M:"; public static final String STR_INPUT_N_AGAIN = "请再次输入小明的自有话...

  •  校企律说法 编写一个java程序,把G:\abc目录下的cyj.txt文件转换成zip压缩文件。请看一下下面的程序有什么问题

    在编写Java程序将G:\abc目录下的cyj.txt文件转换成zip压缩文件时,构造String时需要注意反斜杠的转义问题。直接使用"G:\abc"+"cyj.txt"会将结果解析为"G:\abccyj.txt",即目标文件为G盘下abccyj.txt文件,而不是abc目录下的cyj.txt文件。正确的写法应该是"G:\\abc\\cyj.txt"或"G:/abc/cyj....

  •  百度网友0bad9c3b1 Java问题:下面这个java程序不知哪有问题,请高手指点迷津!

    首先:类中的主函数关键字class错误,如果等一内部类就不应该跟main方法,如果是要写main方法则可以把class 换成static。其次。在java中while后的条件判断只能是boolean类型。不向c语言中可以是整数。在java中,while()括号里面只能放入boolean值,看你程序的意思应该是i一直循环叠加,直到4跳出循环,所以...

  •  458218493 编程求助:求两道题目的JAVA代码

    里面还有几个例子,你可以看参考资料:///编程求出所有的 “水仙花数”:2006-10-10 08:43///1.public class Test {public static void main(String [] args){int bai,shi,ge;for(int i=100;i

  • ztw1122 JAVA 编程题目求大神帮忙看看怎么写?谢谢!

    Testpublic void test5(){Scanner input = new Scanner(System.in);System.out.println("请输入年份");int year = input.nextInt();System.out.println("请输入月份");int month = input.nextInt();Calendar c=Calendar.getInstance();c.setLenient(false);try{c.set(Calendar.YEAR, year);c...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部