一些简单的java,c程序

来源:互联网 发布:lol淘宝cdk是真的吗 编辑:程序博客网 时间:2024/06/01 09:36

一、java程序实例

1、1. 定义一个工具类
其中提供了对于整形数组和double类型数组的一些工具方法。

方法分别有:

1.求数组值的和.
2.求数组中的最大值
3.对数组进行升序排序.
4.对数组进行倒序排序(也就是反转数组)

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

程序:package FirstWork;


public class FirstHomework {
public static void main(String[] args){
int []arr={34,56,12,9,20,89,39,26,78,3};
double []array={2.0,3.0,11.0,54.0,23.0,9.0,4.0,44.0,50.0,1.0};
GongJu.add(arr);
GongJu.max(arr);
GongJu.shengxu(arr);
System.out.println("");
GongJu.jiangxu(arr);
System.out.println("");
GongJu.add1(array);
GongJu.max1(array);
GongJu.shengxu1(array);
System.out.println("");
GongJu.jiangxu1(array);
}
}


class  GongJu{
private GongJu(){

}

static final void add(int[] arr1){
int sum=0;
for(int i=0;i<arr1.length;i++){
sum+=arr1[i];
}
System.out.println("sum="+sum);
}

static final void max(int[] arr2){
int max=0;
int temp=0;
for(int i=0;i<arr2.length;i++){
if(arr2[i]>max){
temp=max;
max=arr2[i];
arr2[i]=temp;
}
}
System.out.println("max="+max);
}

static final void shengxu(int[] arr3){
int t=0;
for(int i=0;i<arr3.length;i++){
for(int j=0;j<arr3.length;j++){
if(arr3[i]<arr3[j]){
t=arr3[i];
arr3[i]=arr3[j];
arr3[j]=t;
}
}
}
for(int m=0;m<arr3.length;m++){
System.out.print(arr3[m]);
System.out.print(" ");
}
}

static final void jiangxu(int[] arr4){
for(int m=arr4.length-1;m>=0;m--){
System.out.print(arr4[m]);
System.out.print(" ");
}
}

static final  void add1(double[] sc1){
double sum1=0.0;
for(int i=0;i<sc1.length;i++){
sum1+=sc1[i];
}
System.out.println("sum1="+sum1);
}

static final void max1(double[] sc2){
double max1=0.0;
double temp=0.0;
for(int i=0;i<sc2.length;i++){
if(sc2[i]>max1){
temp=max1;
max1=sc2[i];
sc2[i]=temp;
}
}
System.out.println("max1="+max1);
}

static final void shengxu1(double[] sc3){
double t=0.0;
for(int i=0;i<sc3.length;i++){
for(int j=0;j<sc3.length;j++){
if(sc3[i]<sc3[j]){
t=sc3[i];
sc3[i]=sc3[j];
sc3[j]=t;
}
}
}
for(int m=0;m<sc3.length;m++){
System.out.print(sc3[m]);
System.out.print(" ");
}
}

static final void jiangxu1(double[] sc4){
for(int m=sc4.length-1;m>=0;m--){
System.out.print(sc4[m]);
System.out.print(" ");
}
}


2、a.定义一个英雄类  Hero
   属性:(全部私有,提供公共方法让外部访问)
        年龄, 血量 ,攻击力,防御力
   方法:
        释放技能,加血.

   必须至少包含一个构造方法,且该构造方法可以初始化所有四个成员变量   
   
   b.定义一个类BatMan继承Hero类 
   方法:
        飞行(方法中输出一行打印"飞行")


   c.定义一个SuperBatMan类继承 BatMan类
   方法:
        重写飞行方法(方法中输出一行打印"超级飞行")

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

程序:package TwoWork;


public class TwoHome {
public static void main(String[] args){
BatMan sc=new BatMan();
SuperBatMan sc1=new SuperBatMan();
sc.feiXing();
sc1.feiXing();
}
}


class Hero{
private int age;
private int blood;
private int hick;
private int defend;

Hero(){

}

Hero(int a,int b,int c,int d){
age=a;
blood=b;
hick=c;
defend=d;
}
void setAge(int age){
this.age=age;
}

int getAge(){
return age;
}

void setBlood(int blood){
this.blood=blood;
}

int getBlood(){
return blood;
}

void setHick(int hick){
this.hick=hick;
}

int getHick(){
return hick;
}

void setDefend(int defend){
this.defend=defend;
}

     int getDefend(){
return defend;
}
     
     void jiNeng(){
    System.out.println("释放技能");
     }
     
     void jiaXue(){
    System.out.println("加血");
     }
}


class BatMan extends Hero{
void feiXing(){
System.out.println("飞行");
}
}




class SuperBatMan extends BatMan{
void feiXing(){
System.out.println("超级飞行");
}
}


3、 实现一个猜数的小游戏.
随机产生一个数(a)。
Scanner 的方式来输入一个数字,并提供反馈,告诉用户该输入的值比a大还是比a小,直到最终用户猜中,显示结果.

程序:package ThreeWork;
import java.util.Scanner;
public class ThreeHome {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个1-10之间的整数");
int b = sc.nextInt();
int a = (int)(Math.random()*10)+1;


if(b!=a){
if(b>a){
System.out.println("值偏大");
}else{
System.out.println("值偏小");
}
}else{
System.out.println("It's good");
}
}
}


二、c简单实例

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

程序:#include<stdio.h>
int main()
{
int x,y,z;
int max1,max2;
scanf("%d %d %d",&x,&y,&z);
//scanf("%d",&y);
//scanf("%d",&z);
    max1=(x>y)?x:y;
max2=(max1>z)?max1:z;
printf("%d\n",max2);
}


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

程序:#include<stdio.h>
int main()
{
 long int recursive(int j);
 long int sum1=0;
 int i;
for(i=1;i<=20;i++)
{
sum1+=recursive(i);
}
printf("%ld\n",sum1);
}


long int recursive(int j)
{
long int sum = 0;
if (0 == j)
return (1);
else
sum = j * recursive(j-1);
return sum;
}


3、编程完成数据加密。数据是五位的整数,加密规则为:
每位数字都加上6,然后用和除以8的余数代替该数字,
再将第一位和第五位交换,第二位和第四位交换。

程序:#include<stdio.h>
int main()

long int a=59374;
int arr[5],i;
int m,t;
for(i=4;i>=0;i--)
{
    if(a!=0){
arr[i]=(a%10+6)%8;
}
a=a/10;
}
m=arr[0];
arr[0]=arr[4];
arr[4]=m;
t=arr[1];
arr[1]=arr[3];
arr[3]=t;
for(i=0;i<5;i++)
{
printf("%d",arr[i]);
    printf(" ");
}
printf("\n");
}

原创粉丝点击