第一、二次实训作业及第三次上机

    1、编写程序:声明一个整型变量a,并赋初值5,在程序中判断a是奇数还是偶数,然后输出判断的结果。
public class s {
     public static void main(String[] args) {
         int a=5;
         if(a%2==0){
             System.out.println("a为偶数");
         }
         else
             System.out.println("a为奇数"); 
    }
}

    2、编写程序:从键盘输入圆的半径,计算圆的面积并输出。
package hhh;
import java.util.*;
public class r {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        int r;
        double s;
        Scanner c=new Scanner(System.in);
        r=c.nextInt();
        //s=c.nextDouble();
        s=3.14*r*r;
        System.out.println("圆的半径为:"+r+"圆的面积为:"+s);
        }
}

    3、编写程序:实现一个数字加密器。运行时输入加密前的整数,通过加密运算后,输出加密后的结果,加密结果仍为一整数。加密规则为:加密结果 = (整数*10+5) / 2 + 3.14159

import java.util.*;
public class j {
public static void main(String[] args) {
int a,b;
@SuppressWarnings("resource")

Scanner c=new Scanner(System.in);
System.out.println("请输入需要加密的数:");
a=c.nextInt();
System.out.println("加密后的数是:");
b= (int) ((a*10+5) / 2 + 3.14159);
System.out.println(b);

}

}

 

4、编写程序:公鸡5元/只,母鸡3元/只,小鸡3只/元,问100元买100只鸡,公鸡、母鸡、小鸡各几只?

package hyy;
public class mj {
    public static void main(String[] args) {
        int i,j,k;
        for(i=0;i<=25;i++)
            for(j=0;j<=33;j++)
                for(k=0;k<=100;k=k+3)
                    if(i+j+k==100&&i*5+j*3+k*1/3==100)
                        System.out.println("公鸡:"+i+",母鸡:"+j+",小鸡:"+k);
    }
}

 

5、编写程序:有1、2、3、4共4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

package hyy;
public class sz {
    public static void main(String[] args) {
        int i,j,k,n=0;
        for(i=1;i<=4;i++)
        for(j=1;j<=4;j++)
        for(k=1;k<=4;k++)
        if(i!=j&&j!=k&&i!=k){
            System.out.println(i+","+j+","+k);
            n++;
        }
        System.out.println("共"+n+"个");
    }
}

6、编写程序:判断输入的整数是否为素数。

package hyy;
import java.util.*;
public class ss {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        Scanner read=new Scanner(System.in); 
        int i,x;
        System.out.println("请输入需要判断的数字:");
        x=read.nextInt();
        for(i=2;i<x;i++)
            if(x%i==0) break;
        if(i==x) System.out.println(x+"是素数");
        else System.out.println(x+"不是素数");
    }
}

7、编写程序:

声明并创建存放4个人考试成绩的一维数组,并使用for循环遍历数组并打印分数。要求:

  • 首先按“顺序”遍历,即打印顺序为:从第一个人到第四个人;
  • 然后按“逆序”遍历,即打印顺序为:从从第四个人到第一个人;
  • 输出最高分;
  • 输出最低分
    package hyy;
    public class dx {
        public static void main(String[] args) {
            double stu[]=new double[]{3,22,69,100};
            int j;
            double max=stu[0],min=stu[0];
            System.out.println("顺序");
            for(j=0;j<4;j++)
                System.out.print(stu[j]+" ");
            System.out.println();
            System.out.println("逆序");
            for(j=3;j>=0;j--)
                System.out.print(stu[j]+" ");
            System.out.println();
            for(j=1;j<4;j++){
                if(max<stu[j]){
                    max=stu[j];
                }
                if(min>stu[j]){
                    min=stu[j];
                }
            }
            System.out.println("最大值:"+max+",最小值:"+min);
        }
    }

     8、Arrays类的sort方法的理解与应用(参照110页程序)。

    对无序的10个数字使用Arrays类的sort方法进行排序。要求:

      • 声明并初始化数组
      • 按如下格式输出排序后的数组
        sum[0] = 1
        sum[1] = 2
        ………………
        package hyy;
        import java.util.*;
        public class px {
            public static void main(String[] args) {
            int a[]=new int[10];
            @SuppressWarnings("resource")
            Scanner read=new Scanner(System.in);
            System.out.print("请输入十个整数:");
            for(int i=0;i<10;i++) {
                a[i]=read.nextInt();
            }
            Arrays.sort(a);
            System.out.println("排序后的结果为:");
            for(int i=0;i<10;i++) {
                System.out.println("sum["+i+"]="+a[i]);
            }
            }
        }

        9.一个班级的学生成绩存在长度为10的数组中,计算不及格的学生数目。

        package hyy;
        import java.util.*;
        public class cj {
            public static void main(String[] args) {
                int s[]=new int[10];
                @SuppressWarnings("resource")
                Scanner read=new Scanner(System.in);
                System.out.print("请输入十个学生成绩:");
                for(int i=0;i<10;i++) {
                    s[i]=read.nextInt();
                }
                int count=0;
                for(int i=0;i<10;i++) {
                    if(s[i]<60) { 
                        System.out.println("不及格的分数为:"+s[i]);
                        count++;
                    } 
                }
                System.out.println("不及格的人数有"+count+"个");
               
            }
        }

        10、身份证号码的判断。

        声明String类型的字符串,保存身份证号码。编写程序判断:

      • 该号码是否为湖南长沙的号码(判断依据:前4位为4301,即长沙号码;否则不是长沙号码)。
      • 该号码主人的性别(判断依据:第17位为奇数,性别为男;第17位为偶数,性别为女)。
      • 第三次上机
      • 编写“学生”类及其测试类。

      • 5.1 “学生”类:

        ²   类名:Student

        ²   属性:姓名、性别、年龄、学号、5门课程的成绩

        ²   方法1:在控制台输出各个属性的值、

        ²   方法2:计算平均成绩

        ²   方法3:输出各个属性的值和平均成绩

        5.2 测试类

        ²   创建2个对象,调用方法,要求:对象各个属性的值,从键盘输入。

        package hyy;
        import java.util.*;
        public class Student {
            String name;
            char sex;
            int age;
            String num;
            double score[]=new double[5];
            void printq(Student s){
                 System.out.println("姓名:"+s.name);
                 System.out.println("性别:"+s.sex);
                 System.out.println("年龄:"+s.age);
                 System.out.println("学号:"+s.num);
                 System.out.println("成绩:");
                 for(int i=0;i<5;i++){
                     System.out.print(s.score[i]+" ");
                 }
             }
             double avarage(Student s){
                 double sum=0;
                 for(int i=0;i<5;i++){
                     sum=sum+s.score[i];
                 }
                 return sum/5;
             }
           void prints(Student s){
                s.printq(s);
                System.out.println("平均成绩为:");
                    System.out.println(s.avarage(s));
           }
              public static void main(String[] args) {
                    @SuppressWarnings("resource")
                    Scanner read=new Scanner(System.in);
                    Student s=new Student();
                    System.out.println("请输入姓名、性别、年龄、学号和成绩:");
                    s.name=read.next();
                    s.sex=read.next().charAt(0);
                    s.age=read.nextInt();
                    s.num=read.next();
                    for(int i=0;i<5;i++){
                        s.score[i]=read.nextDouble();
                    }
                    s.prints(s);
             }
            }

        编写“借书卡”类及其测试类。

        6.1 “借书卡”类

        ²   属性:账号、持卡人姓名、身份证号码、地址、已借书数、可借书数、本次借书数、本次还书数

        ²   方法一:借书,显示本次借书数和可借书数

        ²   方法二:还书,显示本次还书数和可借书数

        6.2 测试类

        ²   本次借书数 和 本次还书数,从键盘输入

        package hyy;
        import java.util.*;
        
        public class book {
            String num;
            String name;
            String ID;
            String address;
            int borrow; //本次借书数
            int back; //本次还书数
            int i; //已借书数
            int j; //可借书数
        
            public void borrow1(book s1){
                int n=5;
                s1.j=n-s1.i;
                System.out.println("可借书数为:"+s1.j+","+"本次借书数为:"+s1.borrow);
                
                
            }
            public void back1(book s1) {
                int m=5;
                s1.j=m-s1.i-s1.borrow+s1.back;
                System.out.println("本次还书数为:"+s1.back+","+"可借书数为:"+s1.j);
                
            }
            public static void main(String[]args) {
            book s1=new book();
            @SuppressWarnings("resource")
            Scanner borrow=new Scanner(System.in);
            System.out.println("账号:");
            s1.num=borrow.next();
            System.out.println("持卡人姓名:");
            s1.name=borrow.next();
            System.out.println("身份证号码:");
            s1.ID=borrow.next();
            System.out.println("地址:");
            s1.address=borrow.next();
            s1.i=1; //设已借1本
            System.out.println("本次借书数为:");
            s1.borrow=borrow.nextInt();
            System.out.println("本次还书数为:");
            s1.back=borrow.nextInt();
            s1.borrow1(s1);
            s1.back1(s1);
           }
        }

         

        编写“电费管理类”及其测试类。

        7.1 “借书卡”类

        ²   属性:上月电表读数、本月电表读数

        ²   方法一:显示上月、本月电表读数

        ²   方法二:计算本月用电数

        ²   方法三:显示本月用电数

        ²   方法四:假设每度电的价格为1.2元,计算并显示本月电费

        7.2 测试类

        ²   上月电表读数、本月电表读数,从键盘输入

        package hyy;
        import java.util.*;
        public class number {
            float a,b,c;              //a为上个月电表读数,b为本月电表读数,c为本月用电数
            final float d=1.2f;
            public void see1() {
                System.out.println("上个月的电表读数为:"+a+"\n本月的电表读数为:"+b);
            }
            public void  electricity1() {
                c=b-a;
            }
            public void see2() {
                System.out.println("本月用电量为:"+c);
            }
            public void electricity2() {
                float sum;
                sum=c*d;
                System.out.println("本月的电费为:"+sum); 
            }
            
            public static void main(String[]args) {
                number s1=new number();
                @SuppressWarnings("resource")
                Scanner number=new Scanner(System.in);
                System.out.println("上个月的电表读数为:");
                s1.a=number.nextFloat();
                System.out.println("本月的电表读数为:");
                s1.b=number.nextFloat();
                s1.see1();
                s1.electricity1();
                s1.see2();
                s1.electricity2();
            }
        }

         

        编写“四则运算类”及其测试类。

        8.1 应用场景

        ²   计算器。能实现简单的四则运算,要求:只进行一次运算。

        8.1 “四则运算”类

        ²   属性:操作数一、操作数二、操作符

        ²   方法一:对两个操作数做加运算

        ²   方法二:对两个操作数做减运算

        ²   方法三:对两个操作数做乘运算

        ²   方法四:对两个操作数做除运算

        8.2 测试类

        ²   从键盘输入两个操作数和一个操作符,计算之后,输出运算结果。

        package hyy;
        import java.util.*;
        public class operation {
                public static void main(String[] args) {
                    @SuppressWarnings("resource")
                    Scanner s = new Scanner(System.in);
                    System.out.println("输入第一个数:");
                    int num1 = s.nextInt();
                    System.out.println("输入第二个数:");
                    int num2 = s.nextInt();
                    System.out.println("输入运算符:");
                    @SuppressWarnings("unused")
                    String num3= s.next();
                    int c=0;
                        System.out.println(c+" = "+num1+" + "+num2);
                        System.out.println(c+" = "+num1+" - "+num2);
                        System.out.println(c+" = "+num1+" * "+num2);
                        System.out.println(c+" = "+num1+" / "+num2);
                }}
         

         

         

posted @ 2019-04-17 10:33  何媛媛  阅读(331)  评论(0编辑  收藏  举报