第一次JAVA作业

(一)学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
import java.util.*;

public class 123 {
public static void main(String[] args) {
int a;
System.out.println("请输入一个数字:");
Scanner input = new Scanner(System.in);
a = input.nextInt();
System.out.println("输入的数字是:"+a);
}
这是输入一个int型的数,不同类型要用不同的函数。

2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。
Math类:int x=(int)(Math.random()*x+y);
Math类的random()返回一个x-y之间的小数。
Random类:
Random rand = new Random();
int x=rand.nextInt(x)+y;
产生一个x-y之间的随机数。

3.运行下列程序,结果是什么?查阅资料,分析为什么。
输出结果是不等于0.3,在计算double类型数据时会产生误差。
比较两个double类型的数据相等时,其原理是看二者相减是否无限趋近于0。
public class ABC {
public static void main(String args[]) {
double a = 0.1;
double b = 0.1;
double c = 0.1;
if((a + b + c)-0.3<1e-6){
System.out.println("等于0.3");
}else {
System.out.println("不等于0.3");
}
}
}
(二)实验总结
实验内容:
1.看商品猜价格
import java.util.*;
public class Q1111 {

public static void main(String[] args) {
	Scanner in=new Scanner(System.in);
	int x,a;
	int n=0,j=0;
	x = (int) (Math.random() * 100);
	while(true){
		for(a=5;a>0;a--){
			System.out.println("请输入商品价格,你还有"+a+"次机会");
			
			int i,f;
			i=in.nextInt();
			f=i*20;
			if(i==x)
			{
				System.out.println("你猜对了,你的得分为"+f+"分!");
				j=j+f;
				break;
			}
			else
			{
				if(i>x)
				{
					System.out.println("猜高了,你还剩余"+(a-1)+"次机会!");
				}
				else
				{
					System.out.println("猜低了.你还剩余"+(a-1)+"次机会!");
				}
			}
		}
		n=n+1;
		System.out.println("是否继续? (yes/no)");
			String t;
			t =in.next();
			if(t.equals("yes"))
			{
				continue;
				
			}
			else if(t.equals("no"))
			{
				break;
			}
	}
	System.out.println("你一共猜了"+n+"次,总得分为"+j);
}

}
2.万年历
import java.util.Scanner;
public class Q3333 {

	public static void main(String[] args) {
		int year=0;
		int month=0;
		int day=0; 
		Scanner input=new Scanner(System.in);
		System.out.print("请输入年份:");
		year=input.nextInt();
		System.out.print("请输入月份:");
		month=input.nextInt();
		int a=0; 
		for(int i=1900;i<year;i++)
		{
			if((i%4==0&&i%100!=0)||(i%400==0))
			{
				a=a+366;
			}else
			{
				a=a+365;
			}
		}
		int b=0;
		for(int j=1;j<=month;j++)
		{
			switch(j)
			{
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:
					day=31;
					break;
				case 4:
				case 6:
				case 9:
				case 11:
					day=30;
					break;
				case 2:
					if(year%4==0&&year%100!=0||year%400==0)
					{
						day=29;
					}else
					{
						day=28;
					}
			}
			if(j<month)
			{
				b=b+day;
			}
		}
		a=a+b; 
		int c=0;
		int temp=1+a%7;
		if(temp==7)
		{
			c=0;
		}
		else
		{
			c=temp;
		}

		System.out.println("星期日	星期一	星期二	星期三	星期四	星期五	星期六");
		for(int k=0;k<c;k++)
		{
			System.out.print("	");
		}
		for(int m=1;m<=day;m++)
		{
			System.out.print(m+"	");
			if((a+m)%7==6)
			{
				System.out.print("
");
			}
		}
}

}
3.评分系统
import java.util.*;

public class Q2222 {

public static void main(String[] args) {
	int i,j,y,t;
	int num=0;
	double l=0;
	int score1[][]=new int[5][10];
	int score2[][]=new int[5][8];
	double score3[] = new double[5];
	int score4[] = new int[5];
	Scanner putin=new Scanner(System.in);
	for(i=0;i<5;i++)
	{
		for (j=0;j<10;j++)
		{
			System.out.println("第"+(j+1)+"位评委请给第"+(i+1)+"号选手打分");
			score1[i][j] = putin.nextInt();
		}
	}
	for(i=0;i<5;i++) 
	{
		for(j=0;j<10;j++)
		{
			for(y=0;y<9;y++)
			{
				if(score1[i][y]<score1[i][y+1])
				{
					t=score1[i][y];
					score1[i][y]=score1[i][y+1];
					score1[i][y+1]=t;
				}	
			}
		}
	}
	for(i=0;i<5;i++)
	{
		for(j=0;j<8;j++)
		{
			score2[i][j]=score1[i][j+1];
		}
	}	
	for(i=0;i<5;i++)
	{
		for(j=0;j<8;j++)
		{
		  num+=score2[i][j];
		}
		score3[i]=num/8;
		score4[i]=i+1;
	}
	for (i=0;i<=4;i++) 
	{
		for (j=0;j<=3;j++)
		{
			if (score3[j]<score3[j+1])
				{
					l= score3[j];
					score3[j]=score3[j+1];
					score3[j+1]=l;
					t=score4[j];
					score4[j]=score4[j+1];
					score4[j+1]=t;
				}
		}
	}
	for (i=0;i<=4;i++) 
	{
		System.out.println("第"+(i+1)+"名是第"+score4[i]+"号选手,得分为"+score3[i]);
	}
}

}

(三)代码托管

原文地址:https://www.cnblogs.com/buyuhang/p/8598705.html