1、定义一个类,该类只有一个main主函数,在主函数内采用Scanner输入一个整数n,然后输入n个浮点数,求出其中最大的数,同时求输入n个数的和,并输出。 思路:使用Scanner类输入n,然后采用循环认为输入的第一个数为最大,存在max变量中,逐个输入并与max比较,如果比max大,更改max。求和则定义sum=0,逐个相加即可。 public class zuidazhi {
public static void main(String[] args) {
System.out.println("请输入一个整数");
Scanner sc=new Scanner(System.in);
int i,n;
float first,next,max,min,sum=0;
n=sc.nextInt();
System.out.println("请输入第一个浮点数:");
first=max=sc.nextFloat();
sum=first;
for(i=2;i<=n;i++) {
System.out.println("请输入下一个浮点数:");
next = sc.nextFloat();
sum = sum + next;
if (max < next) {
max = next;
}
}
System.out.println("最大值为"+max);
}
} 运行结果: ![](https://i-blog.csdnimg.cn/blog_migrate/3710baa1f026816ea3fea0e1e9115383.png) 2、定义一个类,该类中有两个方法,第一个方法为判断一个数是否为素数,如果是则返回true,否则返回false,第二个方法,使用第一个方法求出m到n之间的所有素数,在定义一个主类,在主函数内输入两个数,验证第一个类中定义的求出这两个数之间的所有素数。 思路:第一个类框架 class first{ boolean prime(int n){//该方法为判断n是否为素数} void allprime(int m,int n){//利用前一个方法求出 m到n之间的所有素数} } 第二个类框架: class second{ public static void main(String args[]) { 使用Scanner输入一个数,采用前一个类的第一方法判断输入的数是否是素数,在输入两个数,采用前一个类的第二个方法,求出这两个数之间的所有素数 } 该题目的主要目的在于理解类内的函数可以自由调用,类间函数要生成对象调用 class sushu {
boolean prime(int n) {
if (n <= 3) {
return n > 1;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0)
return false;
}
return true;
}
void allprime(int m, int n) {
int i;
for (i = m; i <= n; i++) {
if (prime(i))
System.out.println(i);
}
}
public static void main(String[] args) {
int a, m, n;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数,判断是否为素数");
a = sc.nextInt();
text.sushu s = new text.sushu();
if (s.prime(a)) {
System.out.println(a + "是素数");
} else {
System.out.println(a + "不是素数");
}
System.out.println("请输入两个数,输出该范围的素数:");
System.out.println("请输入一个较小的数");
m = sc.nextInt();
System.out.println("请输入一个较大的数");
n = sc.nextInt();
s.allprime(m, n);
}
} 结果如下 ![](https://i-blog.csdnimg.cn/blog_migrate/e6fda4061821bf62afe2bc6030b71580.png) 景山动物园猴山有30步楼梯,一直无聊的猴子在做一个实验,用1步或者3步爬猴山,次序无关,问一共有几种爬法,该猴子累的精疲力尽,也没有统计结果,请你帮帮忙。 public class Monkey {
public static void main(String[] args) {
int a1=1,a2=1,a3=2,a4;
a4=a1+a3;
for(int i=5;i<=30;i++){
a1=a2;
a2=a3;
a3=a4;
a4=a1+a3;
}
System.out.println("一共有"+a4+"种爬法");
}
} 第二种解法如下: class Monkey2{
public static void main(String[] args) {
int a1=1,a2=2,a3=4,a4;
a4=a1+a2+a3;
for(int i=5;i<=30;i++){
a1=a2;
a2=a3;
a3=a4;
a4=a1+a2+a3;
}
System.out.println("一共有"+a4+"种爬法");
}
} ![](https://i-blog.csdnimg.cn/blog_migrate/d582b03342d8034142cf6aba2735e9d4.png) |