谁能帮我用JAVA语言写几个很简单的小程序

2024-12-04 08:45:29
推荐回答(5个)
回答1:

/**
* @(#)Jiejue1.java
*
* @判断一个数是否为素数
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue1 {

public static void main(String args[]) {
System.out.println("1-1000中的全部素数为:");

//判断1到1000中的所有素数
for(int i=1; i<1001; i++) {
if (sushu(i)) {
System.out.println(i);
}
}
}

//判断一个数是否为素数
public static boolean sushu(int n) {
if(n == 1) {
return false;
}
else {
for(int j=2; j if(n % j == 0) {
return false;
}
}
}
return true;
}
}

/**
* @(#)Jiejue2.java
*
* @求m和n的最大公约数和最小公倍数
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue2 {

public static void main(String args[]) {
System.out.println(gongyue(8, 6));
System.out.println(gongbei(8,6));
}

//求m和n的最大公约数
public static int gongyue(int m, int n) {
while(m % n != 0) {
int temp = m % n;
m = n;
n = temp;
}
return n;
}

//求m和n的最小公倍数
public static int gongbei(int m, int n) {
return m * n / gongyue(m, n);
}

}

/**
* @(#)Jiejue3.java
*
* @求水仙花数
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue3 {

public static void main(String args[]) {
System.out.println("100-1000的水仙花数是:");
for(int n=100; n<1000; n++) {
if(shuixianhua(n)) {
System.out.println(n);
}
}
}

//判断一个数是否为水仙花数
public static boolean shuixianhua(int n) {

//获得个位数
int gewei = n % 10;

//获得十位数
int shiwei = n / 10 % 10;

//获得百位数
int baiwei = n /100 % 10;

if (n == gewei*gewei*gewei + shiwei*shiwei*shiwei + baiwei*baiwei*baiwei) {
return true;
}
return false;
}

}

/**
* @(#)Jiejue4.java
*
* @判断是否为闰年
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue4 {

public static void main(String args[]) {
System.out.println(panduan(2000));

}
//判断是否为闰年
public static boolean panduan(int n) {
if((n%4 == 0 && n%100 != 0) || n%400 == 0) {
return true;
}
return false;
}

}

/**
* @(#)Jiejue5.java
*
* @求1!+2!+……+10!的和
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue5 {

public static void main(String args[]){
//用来存放1!+2!+……+10!的和,初始值为零
int sum = 0;
for(int i = 0; i < 10; i++ ){
//调用jiecheng()函数算出i+1的阶乘,加到sum当中
sum += jiecheng(i + 1);

}
System.out.println("1!+2!+……+10!的和为:" + sum);
}
//算阶乘的函数
public static int jiecheng(int n){
if(n == 1 || n == 0){
return 1;
}
else return n * jiecheng(n - 1);
}

}

/**
* @(#)Jiejue6.java
*
* @鸡兔同笼问题
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue6 {

public static void main(String args[]) {
for(int i=0; i<47; i++) {
if(4*i + 2*(46-i) == 128) {
System.out.println("鸡有" + (46-i) + "只");
System.out.println("兔有" + i + "只");
}
}

}

}

/**
* @(#)Jiejue7.java
*
* @菲波拉契数列问题
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue7 {

public static void main(String args[]) {
System.out.println("菲波拉契数列的第10个数为:" + feibolaqi(10));

}
public static int feibolaqi(int n) {
if(n == 1 || n ==2) {
return 1;
}
else {
return feibolaqi(n-1) + feibolaqi(n-2);
}
}

}

/**
* @(#)Jiejue8.java
*
* @求100之内的所有“完数”
* @author 智鸱儿—zhichier
* @version 1.00 己丑年三月初十—2009/4/5
*/

public class Jiejue8 {

public static void main(String args[]) {
System.out.println("100以内的完数为:" );
for(int i = 1; i < 100; i++) {
if(wanshu(i)) {
System.out.println(i);
}
}

}

//判断是否为完数
public static boolean wanshu(int n) {
int sum = 0;
for(int i=1; i if(n % i == 0) {
sum += i;
}
}
if(sum == n) {
return true;
}
return false;
}

}

回答2:

就是,楼上说的对,老师有问题,用Java做算法方面的题目,事倍功半啊!还是C语言比较合适。

回答3:

你那么多问题想我怎么做啊?其实这些问题都不是很难的,自己做出来就最好啦。如果真的不行,在网上也有类似的题目和解答。我就不帮你完成了。

回答4:

我不大明白为什么老师就是喜欢让人做这些呢... 又不是学C语言..

回答5:

帮你做做第一题目
for(int i=1;i<1000;i++)
{
for(int j=2;j {
if(i%j==0)
{
if(i==j)
{
System.out.println(j);
}
else
break;
}
}
}