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


源代码:Odd.java


public class Odd{
	public static void main(String[]args){
	  int m = 0;
	  System.out.println("200以内的奇数依次为:\n");
	  for(int i = 0; i < 200; i++){
		  if (i % 2 != 0)//判断是否为奇数
		  {
			  System.out.print(i+"\t");
			  m++;
		  }
		  if(m % 10 == 0)//实现10个数字换行
			  System.out.println();
        }
	}
}


运行结果:

输出200以内的奇数python 输出200到300之间的所有奇数_System

有一个问题:为什么行间距这么大呢?

2.使用字母打印正三角形

思想:是有通过键盘输入用户想打印的三角形行数,需要使用Scanner类;要求输出字母,需要强制类型转换,将字母的ASCII值与数字相加后在转为char类型

源代码:RegularTriangle.java

import java.util.Scanner;

public class RegularTriangle{
	public static void main(String[] args) 
	{
		System.out.print("请输入该三角形的行数:\n");
		Scanner input = new Scanner(System.in);
		int num = input.nextInt();//由键盘输入数字
		for(int i = 0; i < num; i++)
		{
			for(int j = 0; j < num-i+1; j++)//打印三角形每行该有的空格
				System.out.print("  ");
			for(int j = 0; j < 2*i+1; j++)//用字母打印三角形
				System.out.print((char)('A'+i)+" ");
			System.out.println(" ");
		}
		
	}
}




运行结果:

输出200以内的奇数python 输出200到300之间的所有奇数_输出200以内的奇数python_02

3.输出三角形状的乘法九九表


思想:通过双重循环实现




源代码:MultiplicationTable.java


public class MultiplicationTable{
	public static void main(String[] args){
		for(int i=1;i<=9;i++)
			for (int j=1;j<=i;j++)
			{
			  int m=i*j;
			  System.out.print(i+"×"+j+"="+m+" ");
			  if(i==j)
				System.out.println();  
			}
	}
}
运行结果:




输出200以内的奇数python 输出200到300之间的所有奇数_源代码_03

4.输入一个五位数求和


源代码:Nums.java


//输入五位整数,输出各个位数之和
public class Nums
{
	public static void main(String[]args){
	int m,i,sum = 0;//n为所需求和的五位数
	int n = 12345,q = 10000;
	for(i = 5; i > 0; i--){
	m = n / q;
	sum = m + sum;
	n = n % q;
	q = q / 10;			
	}
	System.out.println("该五位数各个位上的和为"+sum);
	}
}
/*
public class Nums
{
	public static void main(String []args){
	int data = 12345;
	int i,sum = 0,temp,p = 10;
	for(i = 5; i > 0; i--){	   //i=5 4
	 temp = data % p; //  temp=5
	 sum += temp;		  //sum=5
	 data /= p;			// data=1234
	}
	System.out.println("该五位数各个位上的和为"+sum);
	}
} */



运行结果:



输出200以内的奇数python 输出200到300之间的所有奇数_输出200以内的奇数python_04



5.猜数游戏

思想:该实验需要生成随机数[0,100),从博客园搜索到java中随机数的用法,大致有三种:


  1.  通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数
final long l = System.currentTimeMillis();
  1. 获取int类型的整数,上面结果需要转行成int类型即可。
final long l = System.currentTimeMillis();
final int i = (int)( l % 100 );
  1. 通过Math.random()返回一个[0,1)的double值,使用方法如下:
final double d = Math.random();
  1. 获取int类型的整数,上面结果需要转行成int类型即可。
final double d = Math.random();
final int i = (int)(d*100);
//或者可以直接如下;
final int i = (int)(Math.random()*100);
  1. 通过Random类来产生一个随机数,创建Random对象,通过Random对象获取随机数
import java.util.Random;

Random random = new Random();//默认构造方法
Random random = new Random(1000);//制定种子数字
int i = random.nextInt(100);




  源程序:Ran.java


import java.util.Random;
import java.util.Scanner;

public class Ran{
	public static void main(String[] args) 
	{	
		System.out.println("这是一个猜字游戏!");
		//使用Math.random()方法
		//int num = (int)(Math.random()*100);
		/*    使用Random类 
		Random random = new Random();
		int num = random.nextInt(100);	 */
		// System.currentTimeMillis()  long 型
		final int num = (int)( System.currentTimeMillis() % 100 );
		Scanner input = new Scanner(System.in);
		int guessNum = input.nextInt();
		if( guessNum > 100 || num < 0 )
		{
			System.out.println("你所输入的数字不在范围内!");
		}
		while( guessNum != num ){
			if( guessNum > num ){
				System.out.println("你的数字猜大了!");
			}else if( guessNum < num ){
				System.out.println("你的数字猜小了!");
			}guessNum = input.nextInt();
			//定义一个变量存放输入的数字与随机数的差值
		        int d = Math.abs( guessNum - num );
			System.out.println("你所猜的数字与随机数之间的差为"+d);	
		}
		System.out.println("恭喜通关!");
	}
}

运行结果:

输出200以内的奇数python 输出200到300之间的所有奇数_java_05




当然猜数游戏不需要加这么明显的提示啦!我只是想试着用一下求绝对值!

6.冒泡排序和选择排序

思想:都是双重循环,冒泡法按趟比较,将相邻两数的大数往后换,直到将最大的数字调到最后,再开始第二趟排序,等等;选择排序定下一个哨兵,从第一个位置开始,依次和后面的数字比较,将较小数移到第一个位置,接着给第二位置选择第二小的数字。这两者的区别在于循环条件的不同,需多加区分!


源代码:Sort.java

import java.util.Arrays;

public class Sort
{
	//冒泡排序
	public static void bubbleSort(int[]arr)
	{	
		System.out.println("冒泡排序分步序列:");
		for(int i = 0 ; i < arr.length-1; i++)
		{
			for(int j = 0 ; j < arr.length-1-i; j++)
			{
				if(arr[j] > arr[j+1])
				{
					printArr(arr);
				    int temp = arr[j];
				    arr[j] = arr[j+1];
				    arr[j+1] = temp;
				}
			}
		}	
	}
	//选择排序
	public static void selectSort(int[]arr)
	{
		System.out.println("选择排序分步序列:");
		for(int i = 0 ; i < arr.length-1 ; i++)	
		{
			for(int j = i + 1 ; j < arr.length ; j++)
			{
				if(arr[i] > arr[j])
				{
					printArr(arr);
					int temp = arr[i];
				    arr[i] = arr[j];
				    arr[j] = temp;
				}
			} 		
		}
	}
	//输出数组
	public static void printArr(int[]arr)
	{
		for(int i=0;i<arr.length;i++)
		{
			System.out.print(arr[i]+"  ");
		}
		System.out.println();
		
	}

	//主方法
	public static void main(String[]args1) 
	{
		//定义一个数组
		int[]arr = {3,4,2,7,1,9};
		bubbleSort(arr);
		printArr(arr);

		int[]a={3,6,1,3,0,4,3};
		selectSort(a);
		printArr(a);
	}
}



运行结果:

输出200以内的奇数python 输出200到300之间的所有奇数_System_06


实验思考:本次实验的算法曾经都用过,新的知识就是java中Scanner,Random类的使用。