JAVA-day02- 循环函数数组

class Demo1 
{
	public static void main(String[] args) 
	{
		//求1--10的累加和

		int sum =0;

		for(int i=1;i<=10;i++)
		{
			sum = sum+i;
		}
		System.out.println("sum="+sum);
         /*
		sum = sum+1;
		sum = sum +2;
		sum = sum+3;

		*/

	}
}

class Demo2 
{
	public static void main(String[] args) 
	{
		//统计1--100之间可以被7整除的数的个数
         int count =0;
		 for(int i=1;i<=100;i++)
		 {
			if(i%7==0)
				count++;
		 }

		 System.out.println("count="+count);

	}
}


class  Demo3
{
	public static void main(String[] args) 
	{
		//3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数。

        int day =0;

		for(int i=3000;i>=5;i/=2)
		{
			day++;
		}
		System.out.println("day="+day);
	}
}


import java.util.Scanner;
import java.util.Random;
class Demo4 
{
	public static void main(String[] args) 
	{

		//产生一个1--10之间的随机数,用户去猜这个数,直到猜中为止

		Scanner sc = new Scanner(System.in);
		//产生随机数
		Random random = new Random();
		int r = random.nextInt(10)+1;

        int guess;

       do{
			System.out.println("猜一个1---10 之间的数");
			guess = sc.nextInt();
			if(r>guess)
				System.out.println("偏小了");
			if(r<guess)
				System.out.println("偏大了");
	   }while(r!=guess);

	   System.out.println("恭喜!!");






		
	}
}


import java.util.Scanner;
class  Demo5
{
	public static void main(String[] args) 
	{
		//用户从键盘输入一个数,求该数的阶乘,可以重复该过程
        // 5!= 5*4*3*2*1
		Scanner sc = new Scanner(System.in);
        int jieCheng=1,flag =0;

        do{
			System.out.println("输入一个数");
			int num = sc.nextInt();
			jieCheng=1;
			for(int i=num;i>=1;i--)
			{
				jieCheng = jieCheng*i;
			}
			System.out.println("jieCheng="+jieCheng);

			System.out.println("是否继续(1/0)?");
			flag = sc.nextInt();

		}while(flag==1);
	}
}


import java.util.Scanner;
class  Demo6
{
	public static void main(String[] args) 
	{
		//计算正整数各位数的和  1234   10
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个数");
	    int num = sc.nextInt();
        int sum = 0;

        while(num!=0)
		{
			sum = sum + num%10;
			num = num/10;
		}
        System.out.println("sum="+sum);

       /*
		sum = sum + num%10;
        num = num/10;

		sum = sum + num%10;
        num = num/10;

		sum = sum + num%10;
        num = num/10;

		sum = sum + num%10;
        num = num/10;


		*/


        




		
	}
}



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

		/*
		  **********
		  **********
		  **********
		*/

      for(int i=1;i<=3;i++)
		{
		   for(int i=1;i<=10;i++)
			   System.out.print("*");
		}
	}
}


/*

*
**
***
****
*****


1
12
123
1234
12345



九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9


*/




class Demo8 
{
	public static void main(String[] args) 
	{
		for(int i=1;i<=5;i++)
		{
			for(int j=1;j<=i;j++)
				System.out.print("*");

		    System.out.println();
		}

/*

1
12
123
1234
12345

*/
        for(int i=1;i<=5;i++)
		{
		   for(int j=1;j<=i;j++)
             System.out.print(j);

		   System.out.println();
		}
/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9


*/

         for(int i=1;i<=9;i++)
		 {
		    for(int j=1;j<=i;j++)
				System.out.print(j+"*"+i+"="+j*i+" ");

			 System.out.println();
		 
		 }


	}
}


/*
打印一个实心菱形图案
   *
  ***
 *****
*******
 *****
  ***
   *

                   

*/
class  Demo9
{
	public static void main(String[] args) 
	{
		for(int i=1;i<=4;i++)
		{
			for(int j=1;j<=4-i;j++)
				System.out.print(" ");
			for(int j=1;j<=2*i-1;j++)
				System.out.print("*");
            System.out.println();
		}

		for(int i=1;i<=3;i++)
		{
			for(int j=1;j<=i;j++)
				System.out.print(" ");
			for(int j=1;j<=7-2*i;j++)
				System.out.print("*");
            System.out.println();

		}
	}

}




/*

3.打印一个空心菱形图案
  问题:用*号打印一个如下的空心菱形图案 :

                   *
                  * *
                 *   *
                *     *
                 *   *
                  * *
                   *

*/
class Demo10 
{
	public static void main(String[] args) 
	{
		for(int i=1;i<=4;i++)
		{
			for(int j=1;j<=4-i;j++)
				System.out.print(" ");
			for(int j=1;j<=2*i-1;j++)
			{
				if(j==1 || j==2*i-1)
				  System.out.print("*");
				else
				  System.out.print(" ");
			}
            System.out.println();
		}

		for(int i=1;i<=3;i++)
		{
			for(int j=1;j<=i;j++)
				System.out.print(" ");
			for(int j=1;j<=7-2*i;j++)
			{
				if(j==1 || j==7-2*i)
				  System.out.print("*");
				else
				  System.out.print(" ");
			}
            System.out.println();

		}
		
	}
}



/*
break:结束循环
continue: 结束某一次循环
*/

class  Demo11
{
	public static void main(String[] args) 
	{
		for(int i=1;i<=5;i++)
		{
			if(i==3)
				break;

			System.out.println(i);
			
		}

		for(int i=1;i<=3;i++)
		{
			break;
			System.out.println(i);//无法访问的语句
		}

		for(int i=1;i<=4;i++)
		{
			for(int j=1;j<=3;j++)
			{
				if(j==2)
					break;//结束的是内部循环

			}
		}

		m:for(int i=1;i<=4;i++)
		{
			n:for(int j=1;j<=3;j++)
			{
				if(j==2)
					break m;//结束的是外部循环

			}
		}

		for(int i=1;i<=10;i++)
		{
			if(i%2==0)
				continue;//结束本次循环,直接进入下一次循环,也就是去执行i++
			System.out.println(i);
		}
	}
}


函数



import java.util.Scanner;
class  Demo12
{
	public static void main(String[] args) 
	{
		//编写一个程序,最多接收10个数,求这些数的和,
        //用户可以通过输入999终止程序,并显示输入数的和
		Scanner sc = new Scanner(System.in);
		int sum =0,num;
		for(int i=1;i<=10;i++)
		{
			System.out.println("输入一个数");
			num = sc.nextInt();
			if(num==999)
				break;
			sum = sum+num;
		}
		System.out.println("sum="+sum);
	}
}



import java.util.Scanner;
class Demo13 
{
	//定义了一个具备求和功能的函数
    public static void add()
	{
        int num1,num2,sum=0;
		Scanner sc = new Scanner(System.in);

		System.out.println("输入第一个数");
		num1 = sc.nextInt();
		System.out.println("输入第二个数");
		num2 = sc.nextInt();
		sum = num1+num2;
		System.out.println("sum="+sum);
	}


	public static void main(String[] args) 
	{
		//实现求两个数的和,两个数从键盘录入
		int num1,num2,sum=0;
		Scanner sc = new Scanner(System.in);

		System.out.println("输入第一个数");
		num1 = sc.nextInt();
		System.out.println("输入第二个数");
		num2 = sc.nextInt();
		sum = num1+num2;
		System.out.println("sum="+sum);

		for(int i=1;i<=9;i++)
		{
			for(int j=1;j<=i;j++)
				System.out.print(j+"*"+i+"="+j*i+" ");

			System.out.println();
		}

		System.out.println("输入第一个数");
		num1 = sc.nextInt();
		System.out.println("输入第二个数");
		num2 = sc.nextInt();
		sum = num1+num2;
		System.out.println("sum="+sum);

		System.out.println("******************");

		System.out.println("输入第一个数");
		num1 = sc.nextInt();
		System.out.println("输入第二个数");
		num2 = sc.nextInt();
		sum = num1+num2;
		System.out.println("sum="+sum);

	}
}

/*
  从上面的程序看出,每次用到求和功能都要写一遍求和的代码
  出现了重复代码,也就是相同功能的代码需要写多次
  使用函数可以解决这个问题

*/



import java.util.Scanner;
class Demo14 
{
	//定义了一个具备求和功能的函数
	//函数:具备特定功能的一段独立的代码段,什么时候用到这个功能就什么时候调用这个函数
    public static void add(int a,int b)//形式参数,用来接收数据的
	{
		int sum = a+b;
		System.out.println("sum="+sum);
	}
    //main函数被JVM调用
	public static void main(String[] args) 
	{
		
		//通常程序中用到的数据都由主函数提供
		//自定义函数只要实现该实现的功能就行了
		int num1,num2;
		Scanner sc = new Scanner(System.in);
		System.out.println("输入第一个数");
		num1 = sc.nextInt();
		System.out.println("输入第二个数");
		num2 = sc.nextInt();

		add(num1,num2);//实际参数


		//add(1,2);
	}
}




import java.util.Scanner;
class Demo15
{
	
    public static int add(int a,int b)//被调用者
	{
		int sum = a+b;
		
		return sum;//返回给调用者,返回到调用该函数的位置

		int c = 4;
	}


    //main函数被JVM调用,void表示无返回值
	public static void main(String[] args) //调用者
	{
		int num1,num2;
		Scanner sc = new Scanner(System.in);
		System.out.println("输入第一个数");
		num1 = sc.nextInt();
		System.out.println("输入第二个数");
		num2 = sc.nextInt();
        //调用者如何得到被调函数的结果值
		int sum = add(num1,num2);//接收	
		if(sum>200)
			System.out.println("这个数大于200");
	}
}





import java.util.Scanner;
class Demo16
{
	
    public static int add(int a,int b)
	{
		int sum = a+b;
		return sum;
	}

	public static void main(String[] args) 
	{
		int num1,num2;
		Scanner sc = new Scanner(System.in);
		System.out.println("输入第一个数");
		num1 = sc.nextInt();
		System.out.println("输入第二个数");
		num2 = sc.nextInt();
      
		int sum = add(num1,num2);
		if(sum>200)
			System.out.println("这个数大于200");
	}
}
</pre><p></p><p><img src="https://img-blog.csdn.net/20141211233101589?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGM2MzU0MDgxMzY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p></p><pre code_snippet_id="549725" snippet_file_name="blog_20141211_3_2521781" name="code" class="java">class Demo18 
{
	public static void main(String[] args) 
	{

		fun1(12);
		
	}


	//如果一个函数没有返回值,也可以使用return,意思是返回到函数调用的位置,结束函数调用
	public static void fun1(int num)
	{
		if(num>10)
			return;
		else
			System.out.println(num);
	}
   //如果一个函数有返回值,那么必须保证在任何情况下都有返回值
	public static int fun2(int a,int b)
	{
		if(a>b)
			return 1;
		else if(a<b)
			return 2;

		return 3;
	
	}
}



/*怎么定义一个函数?
1:确定函数的执行结果:是为了确定是否有返回值
    有结果:有返回值
	无结果:无返回值

2:确定函数在执行的过程当中是否用到不确定的数据:是为了确定是否需要参数
     用到了不确定的数据:有参数
     没用到不确定的数据:无参数 
*/
class  Demo19
{
	public static void main(String[] args) 
	{
		ju(5,10);
	}

	//判断两个数是否相等
	//结果:是相等或不相等  boolean
	//参数:两个数

	public static  boolean isEquals(int a,int b)
	{
		return a==b;
	}

	//求两个数中的最大值
	//结果:最大值  int
	//参数:两个数

	public static int max(int a,int b)
	{
		return a>b?a:b;
	}

	//打印矩形
	//结果:无结果
	//参数:矩形的长和宽是不确定的数据
	public static void ju(int row,int col)
	{
		for(int i=1;i<=row;i++)
		{
			for(int j=1;j<=col;j++)
				System.out.print("*");
			System.out.println();
		}
	}

	//打印99乘法表
	//结果:无结果
	//参数:无参数
	public static void jiuJiu()
	{
		for(int i=1;i<=9;i++)
		{
			for(int j=1;j<=i;j++)
				System.out.print(j+"*"+i+"="+j*i+" ");

			System.out.println();
		}
	}

}





//重载:在同一个class中,出现了函数名称相同但参数不同的现象
/*
参数不同:
     参数的个数不同
	 参数的类型不同
     个数类型都不同

*/
class  Demo20
{
	public static void main(String[] args) 
	{
		add(23,45);
	}
    
	public static int add(int a,int b)
	{
		return a+b;
	}

	public static int add(int a,int b,,int c)
	{
		return a+b+c;
	}

	public static double add(double a,double b)
	{
		return a+b;
	}


	public static void jiuJiu()
	{
		jiuJiu(9);
	}
	//打印99册乘法表,行数由参数决定
    public static void jiuJiu(int row)
	{
		for(int i=1;i<=row;i++)
		{
			for(int j=1;j<=i;j++)
				System.out.print(j+"*"+i+"="+j*i+" ");

			System.out.println();
		}
	}


}


class Demo21 
{
	public static void main(String[] args) 
	{
		
	}
}
/*
public static void show(int a,boolean b,double d)


A:public static int show(int a,boolean b,double d)//不是重载,重载和返回值无关 

B:public static int show(int v,boolean n,double m)//不是重载

C:public static int show(int a)//是

d:public static void show(int a,double b,boolean d)//是

e:public static void show(int a,boolean b)//是



*/


//数组:是一种数据类型,可以存储多个数据,属于引用数据类型
//数组在定义时必须指定数组的长度
class Demo22 
{
	public static void main(String[] args) 
	{  //数据类型  变量名称 =初始化值;
		int a;

		//定义一个可以存储5个数据的数组
		//new int[5];

		//为了使用数组,需要给数组起一个名字
		int[] arr = new int[5];//4*5=20

		//数组是通过下标来存储或取数据的的,下标是从0开始的

		//char '\u0000'
		System.out.println(arr[0]);
       

		/*
          java程序在运行时,jvm会把内存分为5块
		  栈,堆,方法区,本地方法区,寄存器

		  栈:存储的是局部变量,在函数,语句中定义的变量
		      变量的作用范围结束就会立刻从栈中消失

          堆:存储的是实体(数组,对象),实体都是可以存储多个数据的

		     特点:1:会分配内存首地址
			       2:有默认值
				   3:垃圾回收机制


		*/



	}
}




//引用数据类型和基本数据类型的区别
class Demo23 
{
	public static void main(String[] args) 
	{   /*
		int a = 12,b = 21;
		System.out.println("a="+a+",b="+b);
		huan(a,b);
		System.out.println("a="+a+",b="+b);
        */

        int[] arr = new int[2];
		arr[0] = 12;
		arr[1] = 21;
        System.out.println("arr[0]="+arr[0]+",arr[1]="+arr[1]);
		huan(arr);
		System.out.println("arr[0]="+arr[0]+",arr[1]="+arr[1]);
	}

    public static void huan(int[] arr)
    {
		int c ;
		c = arr[0];
		arr[0] =  arr[1];
		arr[1] = c;
	}

	//交换两个变量的值
	//结果:无结果
	//参数:两个数
    public static void huan(int a,int b)
	{
		int c;
		c = a;
		a = b;
		b = c;
	}

}






class Demo24 
{
	public static void main(String[] args) 
	{
		String ss = "haha";
		char[] arr =  new char[3];
		arr[0] ='n';

        fun(ss,arr);
		System.out.println(ss+"   "+arr[0]);
	}

	public static void fun(String str,char[] ch)
	{
		str = "hehe";
		ch[0]='m';
	}
}


//数组:存放多个数,连续存放的,同一个数组只能存储同一中类型的数据
class Demo25 
{
	public static void main(String[] args) 
	{
		int[] arr = new int[3];
		//System.out.println(arr[3]);//ArrayIndexOutOfBoundsException

		//arr = null;
		//System.out.println(arr[0]);//NullPointerException

		//数组的初始化

		// a =45;

		//int[] a = new int[]{23,5,67,89};

		int[] b = {23,4,56,1,567};

		//数组的遍历
		for(int i=0;i<5;i++)
			System.out.print(b[i]+" ");

        for(int i=0;i<b.length;i++)
			System.out.print(b[i]+" ");




	}
}





//求数组的最值
class Demo26 
{
	public static void main(String[] args) 
	{
		int[] arr = {12,4,56,123,8,89};

        int max = max(arr);

		System.out.println("max="+max);
	}
    //求数组中的最大值
	//结果:最大值
	//参数:数组
	public static  int max(int[] arr)
	{
		int max = arr[0];
		for(int i=1;i<arr.length;i++)
		{
			if(max<arr[i])
			   max = arr[i];
		}
		return max;
	}

}



//排序:选择,冒泡
import java.util.Arrays;
class  Demo27
{
	public static void main(String[] args) 
	{
		int[] arr = {23,45,12,6,78};

        print(arr);
        
		//select(arr);
        //bubble(arr);
		Arrays.sort(arr);
        System.out.println();
		print(arr);
	}

    //打印数组中的数据
	public static void print(int[] arr)
	{
		for(int i=0;i<arr.length;i++)
		{
			if(i!=arr.length-1)
				System.out.print(arr[i]+",");
			else
				System.out.print(arr[i]);
		}
	}
    //冒泡排序
	//结果:无结果
	//参数:数组
	public static void bubble(int[] arr)
	{
		for(int i=0;i<arr.length-1;i++)
		{
			for(int j=0;j<arr.length-i-1;j++)
			{
			   if(arr[j]>arr[j+1])
				{
					huan(arr,j,j+1);
			    }
			
			}
		}
	}
	//选择排序
	//结果:无结果
	//参数:数组

	public static void select(int[] arr)
	{
		for(int i=0;i<arr.length-1;i++)
		{
		   for(int j=i+1;j<arr.length;j++)
			{
				if(arr[j]<arr[i])
				{
					huan(arr,j,i);
				}
		    }
		
		}
	}

	//交换数组中的两个下标中对应的数
	//结果:无结果
	//参数:数组,两个下标
	public static void huan(int[] arr,int i,int j)
	{
		int t = arr[i];
		arr[i] = arr[j];
		arr[j] = t;
	}
}




//查找:一个数在数组中第一次出现的位置,不存在返回-1
class Demo28 
{
	public static void main(String[] args) 
	{
		int[] arr ={23,4,9,123,89,9};
		int key = 99;
        
		int index = find(arr,key);

		System.out.println(index);
	}

	//查找
	//结果:下标值或-1
	//参数:数组,和被查找的数

	public static  int find(int[] arr,int key)
	{
		for(int i=0;i<arr.length;i++)
		{
			if(key==arr[i])
				return i;
		}
		return -1;
	}
}


//二分法查找:前提条件:别查找的数组必须是有序的
import java.util.Arrays;
class  Demo29
{
	public static void main(String[] args) 
	{
		int[] arr ={23,4,9,123,89,9};
		int key = 99;
		Arrays.sort(arr);
		int index = halfSearch2(arr,key);
		System.out.println(index);
	}

	//二分法查找的第二种写法
	public static int halfSearch2(int[] arr,int key)
	{
		int min = 0,max = arr.length-1,mid;
		mid = (min+max)/2;
		while(arr[mid]!=key)
		{
		    if(key>arr[mid])
			   min = mid+1;
            if(key<arr[mid])
			   max = mid-1;

            if(min>max)
				return -1;
			mid = (min+max)/2;
		}

		return mid;
	}

	// 二分法查找
    //结果:下标值或-1
	//参数:数组,和被查找的数

	public static int halfSearch(int[] arr,int key)
	{
		int min = 0,max = arr.length-1,mid;
		while(min<=max)
		{
		   mid = (min+max)>>1;
		   if(key>arr[mid])
			   min = mid+1;
		   else if(key<arr[mid])
			   max = mid-1;
		   else 
			   return mid;
		}
        return -1;
	}

	

}





练习:

1.
已知学生成绩以100分为满分,共分5个等级:A,B,C,D,E。
   90~100为等级A,80~89为等级B,70~79为等级C,
   60~69为等级D,0~59为等级E。
   要求定义一个成绩变量,当成绩变化时,可直接知道该成绩对应的等级。
   例如:当成绩为100时,该学生的等级是A。

2.
写出输出结果。
class Demo
{
	public static void main(String[] args)
	{
		show(0);//i=15
		show(1);//i=14
	}	
	public static void show(int i)
	{
		switch(i)
		{	
			default:
				i+=2;//2
			case 1:
				i+=1;//3
			case 4:
				i+=8;//11		
			case 2:
				i+=4;//15
		}
		System.out.println("i="+i);
	}	
}

3.写出输出的结果.
class Demo
{
	public static void main(String[] args)
	{
		int x=0,y=1;

		if(++x==y--  &  x++==1||--y==0)

			System.out.println("x="+x+",y="+y);x=2,y=0
		else
			System.out.println("y="+y+",x="+x);
	}
}


4.
求出1~100之间,即使3又是7的倍数出现的次数?



5.
用程序的方式显示出下列结果。

1*1=1
1*2=2   2*2=4
1*3=3   2*3=6   3*3=9
1*4=4   2*4=8   3*4=12  4*4=16
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25


6.写出程序结果。

class Demo
{
	public static void main(String[] args)
	{
		int x = 1;
		for(show('a'); show('b') && x<3; show('c'))
		{
			show('d'); 
			x++;//2 3
		}
	}
	public static boolean show(char ch)
	{
		System.out.println(ch);
		return true;
	}
}
a
b
d
c
b
d
c
B



本人作业:
数组练习:

1,将给定数组进行反转。{32,65,12,89,41} {41,89,12,65,32}

import java.text.DecimalFormat;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		int[] arr = { 32, 65, 12, 89, 41 };
		test1(arr);
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
	}

	public static void test1(int[] arr) {
		for (int i = 0; i < arr.length / 2; i++) {
			int tem = arr[i];
			arr[i] = arr[arr.length - 1 - i];
			arr[arr.length - 1 - i] = tem;
		}

	}
}

		

2,将给定的数组变成字符串,[元素1,元素2...]{34,12,65} --> "[34,12,65]"

import java.text.DecimalFormat;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		int[] arr = { 32, 65, 12, 89, 41 };
		System.out.print("\"[");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]);
			if (i != arr.length - 1)
				System.out.print(",");
		}
		System.out.println("]\"");
	}

}


3. 对于一个有序的数组,如果要插入一个元素并保证数组还有序,问如何获取该元素位置。(用二分法) 
  import java.text.DecimalFormat;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		int[] arr = { 12, 23, 34, 45, 56, 67, 78 };
		int key = 90;
		System.out.println(halfSearch(arr, key));
	}

	public static int halfSearch(int[] arr, int key) {
		int min = 0, max = arr.length - 1, mid;
		while (min <= max) {
			mid = (min + max) >> 1;
			if (key > arr[mid])
				min = mid + 1;
			else if (key < arr[mid])
				max = mid - 1;
			else
				return mid;
		}
		return min;
	}

}


以下题都用函数实现

1、编写一个程序,测试给定年份是否是闰年?(能被4整除但不能被100整除,或者能被
400整除的年份就是闰年)
 
        略

2、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
         import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int i = in.nextInt();
		test(i);
	}

	public static void test(int i) {
		for (int j = 2; j <= i; j++) {
			if (i % j == 0) {
				System.out.print(j);
				test(i / j);
				j = i;
			}
		}

	}

}


3.求101-200之内的素数?(只能被1和自身整除的数就是素数)

  提示:让这个数除以从2开始到这个数的前一个数,如果都不能被整除,说明是素数
import java.text.DecimalFormat;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		for (int i = 101; i < 200; i++) {
			boolean flag = false;
			for (int j = 2; j < i; j++) {
				if (i % j == 0) {
					flag = true;
				}
			}
			if (!flag) {
				System.out.println(i);
			}
		}

	}

}


4.有1、2、3、4四个数字,能组成多少个互不相同且无重复的三位数。

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		for (int i = 1; i <= 4; i++) {
			for (int j = 1; j <= 4; j++) {
				for (int k = 1; k <= 4; k++) {
					if (!(i == j || i == k || j == k))
					{
						System.out.print(i + " " + j + " " + k);
				    	System.out.println();
					}
				}
				System.out.println();
			}
			System.out.println();
		}
	}

}


6.输入三个整数x,y,z,请把这三个数由小到大输出
import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
	 Scanner in= new Scanner(System.in);
	 int max,min;
    int x=in.nextInt();
    int y=in.nextInt();
    int z=in.nextInt();
       min=x<y?x:y;
       min=min<z?min:z;
       max=x>y?x:y;
       max=max>z?max:z;
       int [] arr=new int[3];
       arr[0]=min;
       arr[1]=x+y+z-max-min;
       arr[2]=max;
       for(int i=0;i<arr.length;i++)
       {System.out.print(arr[i]+",");}
    		     
       
}
	
}


7.求1至1000之间满足“用3除余2;用5除余3;用7除余2”的数,且一行只打印5个数

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		int count = 0;
		for (int i = 1; i <= 1000; i++) {

			if (i % 3 == 2 && i % 5 == 3 && i % 7 == 2) {
				System.out.print(i + "     ");
				count++;
				if (count % 5 == 0) {
					System.out.println();
				}
			}
		}
	}

}

8.求1-3+5-7+ …… -99+101的值。

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		int sum = 0;
		int count = 0;
		for (int i = 1; i <=101; i += 2) {
			count++;
			if (count % 2 != 0) {
				sum = sum + i;
			} else
				sum = sum - i;
		}
		System.out.println(sum);
	}

}


9.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
import java.text.DecimalFormat;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int i = in.nextInt();
		int b = i / 100;
		int s = i / 10 % 10;
		int g = i % 10;
		if (b * b * b + s * s * s + g * g * g == i) {
			System.out.println("YES");
		} else {
			System.out.println("NO");
		}

	}

}


10.求出1~100之间,即是3又是7的倍数的数出现的次数?


     import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		int count = 0;
		for (int i = 1; i <= 100; i++) {
			if (i % 3 == 0 && i % 7 == 0) {
				count++;
			}
		}
		System.out.println(count);

	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值