Java常识求阶层!的和 ,获取某个数组中的最小值,定义数组,获得成绩之和,平均成绩,最小成绩,最大成绩。等问题大全

1.求1+2!+3!+...+20!的和(注意用long计算)


class Dome1{
public static void main(String[] args){
	long sum=0;
    long j=jeiCheng(sum,20);
	System.out.print("sum="+j);
  }
  public static long jeiCheng(long sum,int x){
    long jie=1;	
    for (int i=1;i<=x;i++ )
      {
         jie*=i;
         sum+=jie;
       }
	   return sum;
  }
}
2.创建数组,存储5个double类型的数据,赋值,并打印数据中的值。



import java.util.Scanner;   
class Dome16{
public static void main(String[] args){
   Scanner sc=new Scanner(System.in);
   double[] arr=new double[5];
   for(int i=0;i<arr.length;i++){
    System.out.print("请输入第("+i+")个数:");
    arr[i]=sc.nextInt();      
    }
    peintArray(arr);
  }
  public static void peintArray(double[] arr){	
	   System.out.print("你输入的数分别为:");
    for(int i=0;i<=4;i++){
	   System.out.print(arr[i]+" ; ");
	}
  }
}


3.获取某个数组中的最小值【两种方法】


//第一种
class Dome20{
public static void main(String[] args){
    int [] arr={10,5,12,4,2,7,9};
    minArray(arr);
System.out.print(arr[0]);
  }
public static void minArray(int [] arr){
    int temp=0;
for (int j=0; j<arr.length;j++ )
{
    for(int i=j+1;i<arr.length;i++){
      if(arr[j]>arr[i]){
          temp=arr[j];
          arr[j]=arr[i];
          temp=arr[j];
            }
}     
    }
  }
}
//第二种方法
class Dome03{
public static void main(String[] args){
     int [] arr={10,5,12,4,2,7,9};
     for(int i=0;i<arr.length;i++){
      for(int j=i+1;j<arr.length;j++){
         arr[j]+=arr[i];
         arr[i]=arr[j]-arr[i];
         arr[j]=arr[j]-arr[i];
       }
    }
    System.out.print(arr[0]);
  }
}


.利用选择排序对数据进行降序排序


class Dome21{
public static void main(String[] args){
    int[] arr={12,45,65,3,7,98,1};
     System.out.print("排序为:");
    for(int i=0;i<arr.length;i++){
for (int j=i+1;j<arr.length ;j++ )
{
if (arr[i]<arr[j])
{
int temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
System.out.print(arr[i]+"  ,");
}
  }
 }



5.定义数组,存放5个学生的成绩【成绩值自己设定】,将成绩从大到小排序,获得成绩之和,平均成绩,最小成绩,最大成绩。




import java.util.Scanner;
class Dome5
{
	public static void main(String[] args){	
	int[] arr=new int[5];
	inArray(arr);
	meanArray(arr);
	}
	public static void inArray(int[] arr){
	for (int i=0;i<arr.length ;i++ )
	{
		Scanner sc=new Scanner(System.in);
		System.out.print("请输入("+(char)(65+i)+")同学的成绩:");
		arr[i]=sc.nextInt();
	}
	}
	public static void meanArray(int[] arr){
	int sum=0,min=0,max=0;		
	double mean=0;
    System.out.print("分数从高到底为:");
	for (int i=0; i<arr.length;i++ )
	{		
		for (int j=i+1;j<arr.length ;j++ )
		{
          if (arr[i]<arr[j])
          {
			 int temp=arr[j];
			 arr[j]=arr[i];
			 arr[i]=temp;
          }
		}
		System.out.print(arr[i]+"  ");
		sum+=arr[i];
		mean=sum/arr.length;
		min=arr[0];
		max=arr[arr.length-1];
	}
   System.out.println("\r\n"+"总分为:"+sum);
    System.out.println("平均分为:"+mean);
	 System.out.println("最高分数为:"+min);
	  System.out.println("最低分数为:"+max);
	}
}

6.利用选择 冒泡 插入排序的方式将数组 int[] arr = {56, 72, 89, 77, 103, 20}; 进行降序排序


//选择
class Dome21{
public static void main(String[] args){
    int[] arr = {56, 72,89, 77, 103, 20};
     System.out.print("排序为:");
    for(int i=0;i<arr.length;i++){
for (int j=i+1;j<arr.length ;j++ )
{
if (arr[i]<arr[j])
{
int temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
System.out.print(arr[i]+"  ,");
}
     }
 }


//冒泡
class Dome06 
{
public static void main(String[] args) 
{
int[] arr = {56, 72,89, 77, 103, 20};
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){ 
if(arr[j]<arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
printArray(arr);
}
public static void printArray(int[] arr){
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+",");
}
}
}








7. 在数组中int[] arr = {56, 45, 66, 24, 87, 91};  利用二分法查找的方式 查找元素91。


class Demo7
{
public static void main(String[] args) 
{
int[] arr = {3,7,5,8,1,6};
print(arr);
sort(arr);
print(arr);
int index = findIndex(arr,91);
System.out.println(index);
}
public static void sort(int[] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;



}
}
}
}
public static int findIndex(int[] arr,int value){
int start = 0;
int end = arr.length-1;
int key = (start+end)/2; 
while(arr[key] != value){
if(value<arr[key]){
end = key-1;
}else if(value>arr[key]){
start = key+1;
}
if(start>end){
return -1;
}
key = (start+end)/2;
}
return key;

}
public static void print(int[] arr){
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+",");
}
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值