A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贺小梅 中级黑马   /  2015-11-24 00:47  /  934 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    2015.11.23,今天是我来到黑马的第十三天,每天写一个博客,是对自己每天生活的记录,同时也是对自己每天学习的总结。今天的自习虽然是考试,虽然考的也不怎么好,但是也不会影响我继续写博客的心情,废话我就不多说了,下面直接给出题目。
第一题:
键盘录入5个数据,存储到一个数组中,取最大值和最小值。
第二题:
求三位数的质数,只能被本身和1整除,并将得出的质数倒序输出。
下面是个人的解题过程和自己的程序分析,先来第一题。

分析:
1、使用键盘录入,故需要调用Scanner来输入五个数
2、创建一个int类型的,长度为为5的数组。
3、分别写出判断最大值和最小值的方法
4、打印出最大值和最小值


import java.util.Scanner;                                //导包
public class Example01{
public static void main(String[] args){
    int[] arr = new int[5];                                //定义一个长度为5的int型的数组
    int max = 0;
    Scanner sc = new Scanner(System.in);                //创建Scanner的对象
    for(int i = 0; i < 5; i++){                               
      arr[i] = sc.nextInt();                                //采用循环来接收键盘录入的五个数值
      if(arr[i] > max){
        max = arr[i];                                        //比较最大值
        }
    }
    int min = arr[0];                                       
    for(int i = 1; i < 5; i++){                                //比较最小值
       if(min > arr[i]){
          min = arr[i];
            }
        }
    System.out.println("输入的五个数为:");                   //打印出输入的五个数
        for(int i = 0; i < 5; i++){
        System.out.println(arr[i]);
        }
    System.out.println("最大值为: " + max + " ,最小值为: " + min);   //将最大值和最小值打印在控制台上
  }
}

以上就是我对第一个题的解法,如果您有任何更好的方法,可以在帖子下面留下哦....



下面是第二题:
                             求三位数的质数,只能被 本身和1整除,倒序输出 (for循环,if判断)
public class ZiShu{
public static void main(String[] args){
//利用for循环对100-999个数进行遍历,因为质数只能被本身和1整除,所以将i与小于自己的数相除,
//从最大到最小,倒序输出
        boolean flag = false;
        for(int i = 999; i >= 100; i--){
        for(int j = 2; j < i; j++){
        if(i % j == 0){
//只要有任意一个J可以将i整除,就将flag赋值为true,此时既终止程序,减少程序没必要的计算。
                flag = true;       
                break;
                }
        }
//如果程序不进入上一个if语句中,则flag仍为初始值flase,这该语句执行,并输出此时的i的值,即为质数
                if(flag == false){
                System.out.println(i);
                }
//如果执行了第一个if语句,则flag的值变成了true,此时应该将flag的值赋为flase,如果该语句不存在,
//则会出现无输出,因为flag一直为true。               
                flag = false;
                }
        }
}
以上就是我对第二题的解题思路,还是那句老话,如果你有更好的方法,希望你可以跟帖,我们交流,好的东西是在思维的碰撞中产生的,期待你们哦.....
每天都是美好的一天,从现在起我们一起努力,也许在多年以后,当我们回头来看曾经做过的路的时候,你会感谢自己曾经的努力,因为有了你曾经的努力,现在你得到了你想要得到的东西,你想要的生活,你想要的追求,做一个有梦的人。



























1 个回复

倒序浏览
孙志明 来自手机 中级黑马 2015-11-24 07:53:07
沙发
顶你!长点见识
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马