java学习日志(二)

1.编写程序:输出200以内所有奇数,并要求每行输出10个数。

public class OddNumber
{
	public static void main(String[] args){
		int g=0;
		for (int i=1;i<=200;i+=2){
			System.out.print(i+"\t");g++;
			if (g%10==0)
			{
				System.out.println();
			}
		}
}
}



2.输出下三角形形状的九九乘法表。

public class Experiment_1_Multiplication
{
	public static void main(String[] args) 
	{
		int t=1;
		System.out.println("九九成法表为:");
		for(int i=1;i<10;i++,t++){
			for(int j=1;j<=i;j++){
				int product=i*j;
				  System.out.print(j+"*"+i+"="+product+"\t");
			    if(j==t){      //如果J自增后与t相等,则换行
				  System.out.println();}
	    } 
     }
   }
}



3.输入字母打印正三角形。

import java.util.*;
public class Experiment_1_Triangle
{
	public static void main(String[] args) 
	{
		System.out.println("请输入三角形的行数:");
		Scanner input = new Scanner(System.in);
		int n = input.nextInt();
		for (int i=1;i<=n;i++)        //控制行
		{
			for (int j=n-i;j>=0;j--)     //控制空格的数量,每行空格的数量等于行数减去此行的字母数字
			{
				System.out.print(" ");
			}
			for (int k=1;k<=2*i-1;k++)    //控制字母的数量
			{
				System.out.print((char)('A'+i-1));  //输出字母 
				//System.out.print((char)(64+i));  //与上行功能相同
			}
			System.out.println();
		}
	}
}


4.输入一个五位整数求各位之和。

import java.util.Scanner;
public class AddDigit
{
    public static void main(String[] args) {
        Scanner in  = new Scanner(System.in);
        System.out.print("请输入一个五位整数:");
        int i = in.nextInt();
        int sum = 0;
        if (i < 10000 || i > 99999) {
            System.out.println("输入有误!");
            } else {
                for (int j = 0; j < 5  ; j++ ) {
                    sum +=  i % 10;  
                    i = i / 10;  
                    }  
                    System.out.println("该五位整数各位数上之和为sum=" + sum );  
                }  
  
        System.out.print("请输入一个五位整数:");  
        int n = in.nextInt();  
        int m = 0;  
        for (int k = 10000 ; k > 0 ; k /= 10 ) {  
            m +=  n  /  k ;  
            n %= k;  
        }  
            System.out.println("该五位整数各位数上之和为:" + m);  
  
        System.out.print("请输入一个整数:");  
        int j = in.nextInt();  
        int s = 0;  
        while(j != 0) {  
            s +=  j % 10;  
            j = j / 10;  
        }  
        System.out.println("该整数各位数上之和为s=" + s );  
    }  
}   


5.猜数游戏。

import java.lang.Math;
import java.util.Scanner;
//import java.util.Random;

public class Experiment_1_GuessNumber
{
	public static void main(String[] args) 
	{
		//方法一:
		int x=1+(int)(Math.random()*99);        //产生一个1-100之间的随机整数,Math.random() 产生一个[0,1)之间的随机数
		
		//方法二:
        /*Random rand = new Random();   
        int x = rand.nextInt(100);*/          //产生一个100以内的整数

		System.out.println("请输入一个1-100之间的整数:");
		Scanner input1 = new Scanner(System.in);
		int n=input1.nextInt();
		int count=0;
		if (1<=n&&n<=100)
	{
	    do
		{
			if (n>x)
			{
				System.out.println("不正确!您输入的数字过大!");
			}
			else 
			{
				System.out.println("不正确!您输入的数字过小!");
			}
		    System.out.println("请重新输入一个整数:");
		    Scanner input2 = new Scanner(System.in);
		    int m=input2.nextInt();
			count++;
			n=m;
		}
		while (n!=x);
        System.out.println("正确!"+count+"次");
	}
	else 
		System.out.println("您输入的数字不正确!");

  }
}


6.冒泡排序。

a.)  比较相邻的元素。如果第一个比第二个大,就交换他们两个。

b.)  对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

c.)  针对所有的元素重复以上的步骤,除了最后一个。

d.)  持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

import java.util.*;
public class Experiment_1_BubbleSort
{
	public static void main(String[] args) 
	{
		int a[]={3,6,9,8,5,2,1,4,7};
		int size=a.length;
		int temp=0;
           System.out.println("排序前的数组为:"+Arrays.toString(a));    
		for(int i=0;i<size-1;i++){
			for(int j=0;j<size-1-i;j++){
				if(a[j]>a[j+1]){
					temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
				}
			}
		}
            System.out.println("冒泡排序后的数组为:"+Arrays.toString(a)); 
	}
}



7.选择排序。

a.)  在未排序序列中找到最小元素,存放到排序序列的起始位置。

b.)  再从剩余未排序元素中继续寻找最小元素,然后放到序列的第二位 。

c.)  以此类推,直到所有元素均排序完毕。 

import java.util.*;
public class Experiment_1_SimpleSelectSort
{
	public static void main(String[] args) 
	{
		int a[]={3,6,9,8,5,2,1,4,7};
		int temp=0;      //定义一个中间变量 
		int size=a.length;
           System.out.println("排序前的数组为:"+Arrays.toString(a));    
		for(int i=0;i<size-1;i++){
			int k=i;                       //记录下当前最小元素的位置
			for(int j=i+1;j<size;j++){    //向右查找更小元素的位置
				if(a[j]<a[k])            // 修改当前最小元素的位置
					{
					k=j;
					}
				if(k!=i)                //如果第i次选到的最小元素位置k不等于i,则将第i,k个元素交换
					{
					 temp = a[i];
                     a[i] = a[k];
                     a[k] = temp;
				    }		
	         }
       }
	        System.out.println("简单选择排序后的数组为:"); 
        for(int i=0;i<a.length;i++){  
            System.out.print(a[i]+" "); 
	    }
       //System.out.println("简单选择排序后的数组为:"+Arrays.toString(a)); 
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值