佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1222|回复: 6

java工资算法的问题(功课)

[复制链接]
发表于 5-7-2008 05:37 PM | 显示全部楼层 |阅读模式
要怎样把工钱算在一起呢?
例如:
40小时前,每小时乘5,等于200
40小时后的20小时,就是41小时开始,每小时乘8,等于160
60小时后,61小时开始,每小时乘10,等于+++
全部要加起来算的。。。
这function要怎样做?

虽然这是对了,可是是用错方法的。。。
有没有其他方法做呢?

  1. public class Main {
  2.     public static void main(String[] args) {
  3.     char name= 'a';
  4.     int wages= 40;
  5.     if (wages <= 40)
  6.         {
  7.         wages = (wages*5);
  8.         System.out.println('a');
  9.         System.out.println(wages);
  10.         }
  11.     else
  12.         if (wages <= 60)
  13.             {
  14.             wages = (wages*8);
  15.             System.out.println('a');
  16.             System.out.println(wages-120);
  17.             }
  18.             else
  19.                 if (wages >= wages)
  20.                 {
  21.                 wages = (wages*10);
  22.                 System.out.println('a');
  23.                 System.out.println(wages-240);
  24.                 }
  25.             
  26.         }  
  27. }
复制代码

[ 本帖最后由 lonely_boy 于 5-7-2008 06:10 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 5-7-2008 06:25 PM | 显示全部楼层
可以解释清楚你的问题吗? 很想帮你但不懂你要的是什么? 全部要加起来算是什么意思?  比方说第62 小时, 你要的时从第1小时 加到第62 小时吗?
回复

使用道具 举报

发表于 5-7-2008 06:26 PM | 显示全部楼层
我都不知ngam 唔 ngam。
p/s: 做mei 無得input wages?


public class Main {
    public static void main(String[] args) {
    char name= 'a';
    int wages = 40;
    int b;
   
    if(wages <= 40)
    {
       wages = wages*5;
    }

    if(wages > 40 & wages <= 60)
    {
       b= wages - 40;
       wages = 200+ (b*8);
    }

    if(wages > 60)
    {
       b= wages - 60;
       wages = 360+ (b*10);
    }
   
    System.out.println(wages);

  }       
}
回复

使用道具 举报

 楼主| 发表于 5-7-2008 06:32 PM | 显示全部楼层
原帖由 traFFord 于 5-7-2008 06:25 PM 发表
可以解释清楚你的问题吗? 很想帮你但不懂你要的是什么? 全部要加起来算是什么意思?  比方说第62 小时, 你要的时从第1小时 加到第62 小时吗?


对。。。
就是要从第1小时算到60小时++
但是40小时前的算法不一样,
过了40小时后到60小时之间的也算法不一样,
60小时后的算法也不一样,
要加在一起。。。

我尽量讲清楚一点。。。
1-40小时的算法是,1小时=5块钱。
40-60小时的算法是,1小时=8块钱。
60小时过后,1小时=10块钱。

希望大大能够帮帮忙。。。
回复

使用道具 举报

发表于 5-7-2008 06:34 PM | 显示全部楼层

回复 3# pol 的帖子

public static void main(String[] args) {
   
    int hour = Integer.parseInt(args[0]); // the hour you desired
    int wages = 0;
    if (hour >= 0 && hour <= 40){
        wages = hour * 5;
    }else if (hour > 40 && hour <= 60){
        wages = ((hour-40) * 8)  + 200;
        //200 is because the first 40 hour times 5 equals to 200
    }else{
        wages = ((hour-60) * 10) + 200 + 160;
        //200 is first 40 hour, 160 is subsequent 20 hour
    }
   
    System.err.println("in hour " + hour + ", the wages is " + wages);
}
回复

使用道具 举报

发表于 5-7-2008 07:07 PM | 显示全部楼层
u wan the totall of the working hours?

wages = a+b+c rite?

the way u wan to get 'b' should be like (wages-40)*8,

"c" should be (wages-60)*10, then only can get the correct value.

** i not good in programing, but based on my understanding of ur question, the logic should be like that loh...
回复

使用道具 举报

Follow Us
 楼主| 发表于 5-7-2008 07:22 PM | 显示全部楼层
谢谢大家。。。
我已经解决了。。。
呵呵。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-12-2025 03:08 AM , Processed in 0.122441 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表