100分,几道简单的Java编程题,帮忙解决一下!

我是一个Java初学者,这是清华出版社《面向对象的程序设计与Java》里的习题,没有答案啊 帮帮我吧!!!

(1),编写方法static int methodl(int x)和static int method2(int x),分别用if和switch语句计算如下函数的值:

2x-1 (x<0)
3x+5 (0<=x<3)
f(x)= x+1 (3<=x<5)
5x-3 (5<=x<10)
7x+2 (x>=10)

(2) 有一个数列 1,3,6,10,15,21,28,...,Tn-1,Tn,其各数存在以下递推关系:Tn=Tn-1+N,T1=1 (T后面跟的是下标)
编写并测试求数列第n个数的方法 static long method(int n).

(3)编写一个Java程序,输出100~999 之间的所有“水仙花数”。所谓水仙花数是指一个三位数,七个位数字的立方和等于该数本身(如153=1的3次方+5的3次方+3的3次方)。

(4)总计800元的工资分成100元,50元,10元3种面值的货币发放,其中至少有5长百元票。请编写一个Java程序,计算出分配3种面值货币的各种方案。
晕~ 我找的是懂JAVA的技术员请教 这么简单的东西 我问的是第一册第2章的课后习题,你说能有多难!

不是我牛叉
以前有过类似的练习
修改了一下就发了
我也同意楼下的观点 自己动手做一下
有什么不明白的可以参考我的这个
也许你有更好的解决方法
1.
import java.util.Scanner;
public class Test_If_Switch
{
public static void main(String[] args) {
System.out.println("输入一个数字:");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
System.out.println("方法1:"+methodl(x));
System.out.println("方法2:"+method2(x));
}
static int methodl(int x)
{
int result = 0;
if(x<0)
result = 2*x-1;
else if(x>=0&&x<3)
result = 3*x+5;
else if(x>=3&&x<5)
result = x+1;
else if(x>=5&&x<10)
result=5*x-3;
else if(x>=10)
result = 7*x+2;
return result;
}

static int method2(int x)
{
int result = 0;
switch(x)
{
case 0:
case 1:
case 2:result = 3*x+5;break;
case 3:
case 4:result = x+1;break;
case 5:
case 6:
case 7:
case 8:
case 9:result=5*x-3;break;
case 10:result = 7*x+2;break;
default:result = 2*x-1;break;
}
return result;
}
}

2.
import java.util.Scanner;

public class Test_Tn {
public static void main(String[] args) {
System.out.println("输入一个数字:");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
System.out.println("第"+x+"项的值为:"+method(x));

}

static long static method(int n) {
long Tn = 0;
if (x == 1)
Tn = 1;
else
Tn = method(x - 1) + x;
return Tn;
}
}

3.
public class test
{
public static void main (String args[])
{
int n=100;
while(n<=1000)
{
int i,j,k;
i=n/100;
j=(n-i*100)/10;
k=n%10;
if((Math.pow(i, 3)+Math.pow(j, 3)+Math.pow(k, 3))==n)

System.out.print(n+String.valueOf('\t'));
n++;
}
}
}

4.
public class Money {
public static void main(String[] args)
{
int a = 100,b = 50, c =10;
for(int i =5;i<=8;i++)
for(int j = 0;j<=6;j++)
for(int k = 0;k<30;k++)
{
if(a*i+b*j+c*k==800)
System.out.println("100元"+i+"张"+"50元"+j+"张"+"10元"+k+"张");
}

}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-04
路上那个答案还行。还是自己多看看前面的例子吧,既然是前面的,因该很简单,你要学习,不读懂了怎么行
第2个回答  2009-07-04
大哥,饶了我们吧

在网上找找,肯定有类似的!
第3个回答  2009-07-04
上面的仁兄还真牛叉。真的给他做了。
其实这些玩意你自己去写比较好。都是些逻辑问题。