您的位置:首页 > 编程语言 > Java开发

Java和c作业

2017-10-19 16:54 239 查看
1.. 定义一个工具类其中提供了对于整形数组和double类型数组的一些工具方法。

方法分别有:1.求数组值的和.

2.求数组中的最大值

3.对数组进行升序排序.

4.对数组进行倒序排序(也就是反转数组)

工具类要求:a.私有化构造方法b.不希望被继承

eg:package JavaSe;

import java.util.Arrays;

public class Homework1 {
public static void main(String[]args){
int sum=0;
double[]arr={5,56,84,6,84,54,6,5,3,51};
function.setsum(arr);

         function.sortarr(arr);

         function.backarr(arr);

         function.getMax(arr);

}

}

final class function{

private function(){
}

static  void setsum(double[] arr){      //求数组的和
int sum=0;
for(int i=0;i<arr.length;i++){
sum+=arr[i];

    }
System.out.println(sum);

}

static void  sortarr(double[]  arr){     //升序排序
for(int i =0;i<arr.length;i++){
for(int j=i; j<arr.length-1;j++){
if(arr[i]>arr[j+1]){
double temp= arr[i];
arr[i]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0; i<arr.length; i++){    //输出
   System.out.print(arr[i]+" ");
}



static void  backarr(double[] arr){        //倒叙排序
System.out.println("       ");
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]<arr[j]){
double temp= arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
for(int i=0; i<arr.length; i++){
System.out.print(arr[i]+" ");
}

}

static void getMax(double arr[]){      //获得最大值

   int max=0;

   System.out.println("        ");

   for(int i=0; i<arr.length; i++){

       if(max<arr[i]){

           max=(int) arr[i];

       }

       }

   System.out.println("数组最大值为"+max);

 }

}



2.2. a.定义一个英雄类 Hero

属性:(全部私有,提供公共方法让外部访问)

年龄, 血量 ,攻击力,防御力

方法:
释放技能,加血.

必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量

b.定义一个类BatMan继承Hero类

方法: 飞行(方法中输出一行打印"飞行")

c.定义一个SuperBatMan类继承 BatMan类 方法:

重写飞行方法(方法中输出一行打印"超级飞行")

最终分别创建BatMan对象和SuperBatMan对象,并调用飞行方法.

eg:

public class Homework2 {

      public static void main(String[]args){

     Hero iron=new Hero();

     iron.speak(32,1000,100,10);

     BatMan second = new BatMan();

          SuperBatMan third = new SuperBatMan();

          second.fly();

          third.fly();

      }

}

class Hero{
   private int age;
   private int blood;
   private int attack;
   private int defense;

Hero(){

}
void setage(int age){
this.age=age;
}
int getage(int age){
return age;
}
void setBlood(int blood){
   this.blood= blood;

    }
int getBlood(int blood){

        return blood;

    }
void setAattac(int attack){
   this.attack= attack;
}
int getAttack(int attack){

        return attack;

    }
void setDefense(int defense){
   this.defense= defense;
}
int getDefense(int defense){
   return defense;
}
void  recoverHp(){
  blood+=10;
  System.out.println("血量回复" + blood);
  }
void speak(int age,int blood ,int attack ,int defense){
 System.out.println("我的属性是" + " 年龄"+age + " 血量" +blood + " 攻击力"+attack + " 防御力"+defense);
}

}

class BatMan extends Hero{

    void fly(){

    System.out.println("飞行");

    }

}

class SuperBatMan extends BatMan{

    void fly(){

        System.out.println("超级飞行");

    }

}



3. 实现一个猜数的小游戏.随机产生一个数(a)。Scanner 的方式来输入一个数字

并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果

import java.util.Scanner;

public class Homework31 {
public static void main(String[]args){

    Scanner sr = new Scanner(System.in);

    int count = (int)(Math.random()*1001);

    System.out.println("猜下彩票的中奖号码在0到1000之间");

    while(true){

        int num = sr.nextInt();

        if(num==count){

            System.out.println("恭喜你中奖了");

            break;

        }

        else if(num>count){

            System.out.println("大了");

            continue;

        }else if(num<count){

            System.out.println("小了");

            continue;

        }

    }

}

}


C语言题:

1. 给你任意三个整形数据,找出其中最大一个整形数。

#include<stdio.h>

void main(){
int num1,num2,num3,Max;
scanf_s("%d,%d,%d,&num1,&num2,&num3);
if(num1>num2){
Max=num1;
}else {
Max=num2;

}

if(num3>Max){
Max=num3;

}

else{
Max=Max;

}

printf("三个数中最大值为:%d\n",Max);

}

2.求1+2!+3!+...+20!的和。

#include<stdio.h>

void main(){

long sum=0;

long n=1;

for(int i=1;i<=20;i++){

n=n*i;

sum+=n;

}

printf("1!+2!+3!+...+20!的和为:d|n",sum);

}

3.编程完成数据加密.数据是五位的整数

加密规则为:每位数字都加上6,然后用和除以8的余数代替该数字

再将第一位和第五位交换,第二位和第四位交换.

#include<stdio.h>

void mian(){

int x,i,temp1,temp2;

int k=56596;

int arr[5];

printf("请输入一个五位数的整数\n");

scanf(%d,&x);

for(i=0;i<5;i++){

arr[i]=i/k;

x-=(arr[i]*k);

k/=10;

arr[i]=(arr[i]+6)%8;

}

for(i=0;i<5;i++){

printf("%d\n",arr[i]);

}

temp1=arr[0];

arr[0]=arr[4];

arr[4]=temp1;

temp2=arr[1];

arr[1]=arr[3];

arr[3]=temp2;

for(i=0;i<5;i++){

printf("%d\n",arr[i]);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: