Java-学校项目2---Java语言基础题目

项目2 Java语言基础
实验目的:熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。
实验性质:验证性实验+设计性实验
实验内容:(1)分析并调试第2章中的实例。
(2)分别用if语句和switch语句编写程序,实现功能:根据学生的成绩(可能取值为5、4、3、2、1),显示相应的等级(优秀、良好、中等、及格、不及格)

 * 划分等级
 * 分别用if语句和switch语句编写程序,
 * 实现功能:根据学生的成绩(可能取值为54321),显示相应的等级(优秀、良好、中等、及格、不及格)
 * if语句
 */
package 实验二;
import java.util.Scanner;
public class Dengji {
	public static void main(String[] args) {
		System.out.print("输入学生成绩1-5:");
		Scanner read=new Scanner(System.in);
		int f=read.nextInt();//分数
		if(f==5)
			System.out.println("优秀");
		if(f==4)
			System.out.println("良好");
		if(f==3)
			System.out.println("中等");
		if(f==2)
			System.out.println("及格");
		if(f==1)
			System.out.println("不及格");
	}
}
package 实验二;
import java.util.Scanner;
/**
 * 划分等级
 * 分别用if语句和switch语句编写程序,
 * 实现功能:根据学生的成绩(可能取值为5、4、3、2、1),显示相应的等级(优秀、良好、中等、及格、不及格)
 * switch语句
 */
public class Dengji2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("输入学生成绩1-5:");
		Scanner read=new Scanner(System.in);
		int f=read.nextInt();//分数
		switch(f)
		{case 5:System.out.println("优秀");break;
		case 4:System.out.println("良好");break;
		case 3:System.out.println("中等");break;
		case 2:System.out.println("及格");break;
		case 1:System.out.println("不及格");break;
		default:break;
		}
	}
}

(3)输出500以内能被5和7整除但不能被3整除的数据,并计算它们的和。
package 实验二;

/**
 *除数:输出500以内能被5和7整除但不能被3整除的数据,并计算它们的和
 */
public class Chushu {
	public static void main(String[] args) {
		int i=1;
		int sum=0;
		System.out.print("500以内能被5和7整除但不能被3整除的数据:");
		while(true)
		{
			if(i==500)
				break;
			if(i%3!=0)
				{
					if(i%5==0)
						if(i%7==0)
							{
							sum+=i;
							System.out.print(i+"、");
							}
				}
			i++;
		}
		System.out.println();
		System.out.println("它们的和"+sum);
	}
} 

(4)利用循环语句输出如下图形:
*****
*****
*****
*****

package 实验二;
/**
 * 利用循环语句输出如下图形:
 * 		*****
 * 		 *****
 * 		  *****
 *		   *****
 */
public class Tuxing {
	public static void main(String arg[])
	{
		for(int i=0;i<4;i++)
		{
			for(int j=i;j>0;j--)
			System.out.print(" ");
			System.out.println("****");
		}
	}
}

(5)人机猜拳:编写一个人机进行石头剪刀布的小游戏,进行完一轮猜拳后,显示输赢信息。
提示:程序流程:
[1]产生一个随机数(范围1-3)
[2]用户输入一个整数(范围1-3)(要有良好的信息提示)
[3]根据石头、剪刀、布的规则,判断用户输入数据与随机数的关系,给出输赢信息。
随机数产生说明
方法一:使用Math.random()方法
1.需要在程序开始导入Math类,如下
import java.lang.;
也可以不导入,因为java.lang包系统默认使用
2. 产生[m,n]之间的整数(m<= x <=n)的表达式:
int x= (int)(Math.random()
(n-m+1)+m) 方法二:使用Random类的方法
1.需要在程序开始导入Random类,如下
import java.util.*;
2. 产生[m,n]之间的整数(m<= x <=n)的语句:
Random obj=new Random();
int x=obj.nextInt(n-m+1)+m;

输入:
在文件开始需加入: import java.util.*;
Scanner read=new Scanner(System.in);
int x=read.nextInt();//读入一个整数

/**
 * 猜拳游戏:1-石头、2-剪刀、3-布
 */
package 实验二;
import java.lang.*;
import java.util.Scanner;
public class Caiquan {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("1-石头、2-剪刀、3-布");
		System.out.print("请输入:");
		int i=(int)(Math.random()*3+1);
		Scanner read=new Scanner(System.in);
		int x=read.nextInt();//读入一个整数
		switch(i)
		{case 1:{System.out.print("机器出了石头    ");
					if(x==1)
						System.out.println("平局");
					else if(x==2)
						System.out.println("你输了");
					else if(x==3)
						System.out.println("你赢了");break;}
		case 2:{System.out.print("机器出了剪刀");
					if(x==1)
						System.out.println("你赢了");
					else if(x==2)
						System.out.println("平局");
					else if(x==3)
						System.out.println("你输了");break;}
		case 3:{System.out.print("机器出了布");
					if(x==1)
						System.out.println("你输了");
					else if(x==2)
						System.out.println("你赢了");
					else if(x==3)
						System.out.println("平局");break;}
		}
	}
}

(6)猜数游戏:计算机随机产生一个数x;用户输入一个数据,与随机数相比较,并给出提示信息:
若输入数据>随机数,提示用户数据大了,并要求用户重新输入数据;
若输入数据<随机数,提示用户数据小了,并要求用户重新输入数据;
如此反复,直到用户输入数据与随机数相同为止。

/**
	 * 猜数游戏
	 * 若输入数据>随机数,提示用户数据大了,并要求用户重新输入数据;
	 * 若输入数据<随机数,提示用户数据小了,并要求用户重新输入数据;
	 * 如此反复,直到用户输入数据与随机数相同为止。
	 */
package 实验二;
import java.util.Scanner;
import java.lang.*;
public class Caishu {
	public static void main(String arg[])
	{
		int i,x;
		System.out.println("已经生成1-10的数");
		i=(int)(Math.random()*10+1);
		System.out.print("请输入你要猜的数:");
		Scanner s=new Scanner(System.in);
		x=s.nextInt();
		
		while(true)
		{
			if(x>i)
			{
				System.out.println("数据偏大,请继续输入");
				x=s.nextInt();
			}
			if(x<i)
			{
				System.out.println("数据偏小,请继续输入");
				x=s.nextInt();
			}
			if(x==i)
			{
				System.out.println("数据正确");break;
			}
		}
	}
}

(7)输入年月日,显示该天是这一年中的第几天,要求对输入的日期进行合理性检查。

package 实验二;
import java.util.Scanner;
/**
 * 输入年月日,显示该天是这一年中的第几天,要求对输入的日期进行合理性检查
 * 
 */
public class Nianyueri {
	public static void main(String a[])
	{
		Scanner sc=new Scanner(System.in);
		System.out.print("输入年:");
		int Year=sc.nextInt();
		System.out.print("输入月:");
		int Month=sc.nextInt();
		System.out.print("输入日:");
		int Day=sc.nextInt();
		boolean y=false;
		int sum=0;//第几天
		/*
		判断日期是否合理
		*/
		do
		{	
			if(Month==0)
			{
				System.out.println("日期不合理、是否从小输入,是则输入1,否则输入其他");
				if(1==sc.nextInt())
					{
						y=true;
						System.out.println("输入年:");
						Year=sc.nextInt();
						System.out.println("输入月:");
						Month=sc.nextInt();
						System.out.println("输入日:");
						Day=sc.nextInt();
					}
					else 
						{y=false;
						break;}
			}
			else if(Month>12)
			{
				System.out.println("日期不合理、是否从小输入,是则输入1,否则输入其他");
				if(1==sc.nextInt())
					{
						y=true;
						System.out.print("输入年:");
						Year=sc.nextInt();
						System.out.print("输入月:");
						Month=sc.nextInt();
						System.out.print("输入日:");
						Day=sc.nextInt();
					}
					else 
						{y=false;
						break;}
				
			}
			else if(Day==0)
			{
				System.out.println("日期不合理、是否从小输入,是则输入1,否则输入其他");
				if(1==sc.nextInt())
					{
						y=true;
						System.out.print("输入年:");
						Year=sc.nextInt();
						System.out.print("输入月:");
						Month=sc.nextInt();
						System.out.print("输入日:");
						Day=sc.nextInt();
					}
					else 
						{y=false;
						break;}
			}
			else if(Day>31)
			{
				System.out.println("日期不合理、是否从小输入,是则输入1,否则输入其他");
				if(1==sc.nextInt())
					{
						y=true;
						System.out.println("输入年");
						Year=sc.nextInt();
						System.out.println("输入月");
						Month=sc.nextInt();
						System.out.println("输入日");
						Day=sc.nextInt();
					}
					else 
						{y=false;
						break;}
			}
			else if(Month==4||Month==6||Month==9||Month==11)
			{
				if(Day==31)
				{	System.out.println("日期不合理、是否从新输入,是则输入1,否则输入其他");
					if(1==sc.nextInt())
						{
							y=true;
							System.out.print("输入年:");
							Year=sc.nextInt();
							System.out.print("输入月:");
							Month=sc.nextInt();
							System.out.print("输入日:");
							Day=sc.nextInt();
						}
						else 
							{y=false;
							break;}
				}
				else
					y=false;
			}else if(Month==2)
				{
					if(Year%4==0)
					{
						if(Day>29)
							{
								System.out.println("日期不合理、是否从小输入,是则输入1,否则输入其他");
								if(1==sc.nextInt())
								{
									y=true;
									System.out.print("输入年:");
									Year=sc.nextInt();
									System.out.print("输入月:");
									Month=sc.nextInt();
									System.out.print("输入日:");
									Day=sc.nextInt();
								}
								else 
									{y=false;
									break;}
							}else
								y=false;
					}else if(Day>28)
						{
							System.out.println("日期不合理、是否从小输入,是则输入1,否则输入其他");
							if(1==sc.nextInt())
							{
								y=true;
								System.out.print("输入年:");
								Year=sc.nextInt();
								System.out.print("输入月:");
								Month=sc.nextInt();
								System.out.print("输入日:");
								Day=sc.nextInt();
							}
						else 
							{y=false;
							break;}
						}else
							y=false;
				}
		}while(y);
		
		for(int i=1;i<Month;i++)
		{
		/*
		*计算第几天天数
		*/
			if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
			{
				sum+=31;
			}
			if(i==2)
			{
				if(Year%4==0)
				{
					sum+=29;
				}
				else 
					sum+=28;
			}
			if(i==4||i==6||i==9||i==11)
			{
				sum+=30;
			}
		}
		sum+=Day;
		System.out.println("该天是这"+Year+"中的第"+sum+"天");
	}
}
Java程序设计》课程实验指导书程序代码(答案)(实验二),个人原创,仅供参考与交流。 希望多多交流,共同进步! 实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。(闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.编写Java Appet 程序打印 “水仙花” 数 (它的个、十、百位数字的立方的和等于该数本身,如:153=1^3+5^3+3^3) 3. 编写Java Application程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当的系统错误信息提成示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法加入实现要求功能的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)编写Java Applet, 在public void paint(Graphics g)方法加入实现要求功能的代码, 主要步骤是:从100到1000循环,判断每个数是否符合水仙花数的特点,是则输出之。 3.编译运行程序,观察输出结果是否正确。 五、自做实验 1. 输出100以内的所有素数。 提示: 逐个判断小于a的每个正整数x,第二重循环针对x,判断其是否是质数。 2.将所输入之正整数,以二、八、十六进制表示出来。 提示: 可写三个方法分别计算输出二、八、十六进制表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值