现在的位置: 首页 > 综合 > 正文

JAVA技术支持课–第一次java语言技术支持授课思路(答案解析)

2013年02月19日 ⁄ 综合 ⁄ 共 14419字 ⁄ 字号 评论关闭

引例:实现类似C#输入功能的Console类

实现:

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:实现类似C#输入功能的Console类
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 20 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/




import java.util.Scanner;

public class Console
{

    public static String readLine(){
        Scanner sc=new Scanner(System.in);
        return sc.next();
    }
    public static char readLine_char(){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        return str.charAt(0);
    }
    public static int readInt(){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        return Integer.parseInt(str);
    }
    
    public static double readDouble(){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        return Double.parseDouble(str);
    }
}

 

 

1. 使用八种基本数据类型定义八个变量,然后在控制台输出各个变量的值。

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:使用八种基本数据类型定义八个变量,然后在控制台输出各个变量的值。
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/

public class Exercise_01 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		boolean flag = true;
		char yeschar = 'y';
		byte finbyte = 30;
		int intvalue = -70000;
		long lonngvalue = 200;
		short shortvalue = 20000;
		float floatvalue = 9.997f;
		double doublevalue = 1.117;
		System.out.println("The values are:");
		System.out.println("布尔类型变量		flag="+flag);
		System.out.println("字符类型变量		yeschar="+yeschar);
		System.out.println("字节类型变量		finbyte="+finbyte);
		System.out.println("整型变量			intvalue="+intvalue);
		System.out.println("长整型变量		lonngvalue="+lonngvalue);
		System.out.println("短整型变量		shortvalue="+shortvalue);
		System.out.println("浮点型变量		floatvalue="+floatvalue);
		System.out.println("双精度浮点型变量		doublevalue"+doublevalue);

		

	}

}

2. 已知学生有学号,姓名,性别,年龄,身高,体重六项基本信息,依次从键盘录入该学生信息,完成后输出该生详细信息。2. 已知学生有学号,姓名,性别,年龄,身高,体重六项基本信息,依次从键盘录入该学生信息,完成后输出该生详细信息。

 

/*
 * @Copyright:2011 Shandong Strong software co,ltd.
 *            All right reserved.
 * @author:zy
 * @date:2012-9-14
 * @version:1.0
 */

/*
 *comment:一句话概括类完成的功能
 *description:详细描述类的功能
 */

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称: 已知学生有学号,姓名,性别,年龄,身高,体重六项基本信息,依次从键盘录入该学生信息,完成后输出该生详细信息。
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/

public class Exercise_02
{

    /*
     *@function:
     *@param:
     *@return:
     *@exception
     */
    public static void main(String[] args)
    {
    	System.out.println("请输入学生的学号:");
        int stuNo=Console.readInt();
        
        System.out.println("请输入学生的姓名:");
        String name=Console.readLine();
        
        System.out.println("请输入学生的性别:");
        String sex = Console.readLine();
        
        System.out.println("请输入学生的年龄:");
        int age=Console.readInt();
        
        System.out.println("请输入学生的身高:");
        int heigh=Console.readInt();
        
        System.out.println("请输入学生的体重:");
        int weight=Console.readInt();
        
        System.out.println("学生的基本信息为:");
        
        System.out.println("学号		姓名		性别		年龄		身高		体重");
        System.out.println(stuNo+"		"+name+"		"+sex+"		"+age+"		"+heigh+"		"+weight);
    }

}

 

3. 张三要购买T恤,T恤单价及数量由用户输入,李四要购买网球,网球单价及数量由用户输入; 计算张三及李四各自消费总额并输出.

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称: 张三要购买T恤,T恤单价及数量由用户输入,李四要购买网球,网球单价及数量由用户输入; 计算张三及李四各自消费总额并输出.
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_03 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入张山购买T恤的数量:");
		int number01 = Console.readInt();
		
		System.out.println("请输入张山购买T恤的单价:");
		int number02 = Console.readInt();
		
		System.out.println("请输入李四购买网球的数量:");
		int number03 = Console.readInt();
		
		System.out.println("请输入李四购买网球的单价:");
		int number04 = Console.readInt();
		
		int cost01 = number01 * number02;
		int cost02 = number03 * number04;
		
		System.out.println("客户		消费金额");
		System.out.println("张山"+"		"+cost01);
		System.out.println("李四"+"		"+cost02);

	}

}

 

4. 从键盘上输入一个整数,计算各个位数之和

 

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:从键盘上输入一个整数,计算各个位数之和
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_03 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入张山购买T恤的数量:");
		int number01 = Console.readInt();
		
		System.out.println("请输入张山购买T恤的单价:");
		int number02 = Console.readInt();
		
		System.out.println("请输入李四购买网球的数量:");
		int number03 = Console.readInt();
		
		System.out.println("请输入李四购买网球的单价:");
		int number04 = Console.readInt();
		
		int cost01 = number01 * number02;
		int cost02 = number03 * number04;
		
		System.out.println("客户		消费金额");
		System.out.println("张山"+"		"+cost01);
		System.out.println("李四"+"		"+cost02);

	}

}

 

5. 输入一个数字,使用if语句判断匹配的数字。

如果输入的是:

1>. 打印:您输入的数字是1

2>. 打印:您输入的数字是2

3>. 打印:您输入的数字式3

其他数字 打印:输入了不符合规范的数字

注:使用if-else及switch 两种方式分别实现。

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:输入一个数字,使用if语句判断匹配的数字。
 
如果输入的是:
 
1>. 打印:您输入的数字是1
 
2>. 打印:您输入的数字是2
 
3>. 打印:您输入的数字式3
 
其他数字 打印:输入了不符合规范的数字
 
注:使用if-else及switch 两种方式分别实现。

* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/

public class Exercise_05 {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入一个整数:");
		int number = Console.readInt();
		System.out.println("用if-else语句实现");
		if (number == 1) {
			System.out.println("您输入的数字是:" + number);
		} else if (number == 2) {
			System.out.println("您输入的数字是:" + number);
		} else if (number == 3) {
			System.out.println("您输入的数字是:" + number);
		} else {
			System.out.println("您输入了不符合规范的数字!");
		}

		System.out.println("用switch语句实现");

		switch (number) {
		case 1:
			System.out.println("您输入的数字是:" + number);
			break;
		case 2:
			System.out.println("您输入的数字是:" + number);
			break;
		case 3:
			System.out.println("您输入的数字是:" + number);
			break;
		default:
			System.out.println("您输入了不符合规范的数字!");
		}

	}
}

6. 从键盘上输入一个年份,判断该年是平年还是闰年。6. 从键盘上输入一个年份,判断该年是平年还是闰年。

 

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:从键盘上输入一个年份,判断该年是平年还是闰年。
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/

public class Exercise_06 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("请输入一个您想判断的年份:");
		int i = Console.readInt();
		if (i % 4 == 0 && i % 100 != 0) {
			System.out.println(i + "年是闰年");
		} else {
			System.out.println(i + "年是平年");
		}

	}

}

7. 从键盘上输入一个年份,并输入一个月份(数字),输出该月份有多少天。7. 从键盘上输入一个年份,并输入一个月份(数字),输出该月份有多少天。

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:从键盘上输入一个年份,并输入一个月份(数字),输出该月份有多少天。
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_07 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("您需要输入年份:");
		int year = Console.readInt();
		System.out.println("您需要输入月份:");
		int month = Console.readInt();
		if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
		{
			System.out.println(year+"年"+month+"月一共"+31+"天");
		}
		else if(month==4||month==6||month==9||month==11)
		{
			System.out.println(year+"年"+month+"月一共"+30+"天");
		}
		else
		{
			if(year % 4 == 0 && year % 100 != 0)
			{
				System.out.println(year+"年"+month+"月一共"+28+"天");
			}
			else
			{
				System.out.println(year+"年"+month+"月一共29天");
			}
		}
     }
}

8. 从键盘上输入一个年份,并输入一个月份,计算从当前年份1月1号只当前第month个月共有多少天(如输入年份为2011,月份为3月,则计算,从1月1号到3月1号共多少天。输入年份为2004,月份为10月,则计算,从1月1号到10月1号共多少天即计算从1月n-1月共有多少天)

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:8. 从键盘上输入一个年份,并输入一个月份,
 计算从当前年份1月1号只当前第month个月共有多少天
 (如输入年份为2011,月份为3月,则计算,从1月1号到3月1号共多少天。输入年份为2004,月份为10月,
 则计算,从1月1号到10月1号共多少天即计算从1月n-1月共有多少天)
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_08 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("您需要输入年份:");
		int year = Console.readInt();
		System.out.println("您需要输入月份:");
		int month = Console.readInt();
		  boolean b = Leap_Common_year(year);//判断平年还是闰年
		  System.out.print(year+"年1月1日到"+year+"年"+month+"月1日一共");
          switch(month)     //判断月份
          {
              case 1:month_1(1);break;//根据日期计算出是哪一天
              case 2:month_2(1);break;
              case 3:month_3(1,b);break;
              case 4:month_4(1,b);break;
              case 5:month_5(1,b);break;
              case 6:month_6(1,b);break;
              case 7:month_7(1,b);break;
              case 8:month_8(1,b);break;
              case 9:month_9(1,b);break;
              case 10:month_10(1,b);break;
              case 11:month_11(1,b);break;
              case 12:month_12(1,b);break;
              default: System.out.println("您输入的月份有误..."); break;
          }

	}
	
	 static boolean Leap_Common_year(int year)//判断平年还是闰年
     {
         boolean b;
         if (year % 4 == 0 && year % 100 != 0)
         {
             b = false;
         }
         else
         {
             b = true;
         }
         return b;
     }
     static void month_1(int date)
     {
    	 System.out.println(1+"天");


     }
     static void month_2(int date)
     {
         int d;
         d = 31 + date;
         System.out.println(d+"天");
     }
     static void month_3(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + date;
         }
         else
         {
             d = 31 + 29 + date;
         }
         System.out.println(d+"天");


     }
     static void month_4(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + date;
         }
         else
         {
             d = 31 + 29 + 31 + date;
         }
         System.out.println(d+"天");
     }
     static void month_5(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + date;
         }
         System.out.println(d+"天");
     }
     static void month_6(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + 31 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + 31 + date;
         }
         System.out.println(d+"天");

     }
     static void month_7(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + 31 + 30 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + 31 + 30 + date;
         }
         System.out.println(d+"天");

     }
     static void month_8(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + date;
         }
         System.out.println(d+"天");

     }
     static void month_9(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + date;
         }
         System.out.println(d+"天");
     }
     static void month_10(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + date;
         }
         System.out.println(d+"天");

     }
     static void month_11(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + date;
         }
         System.out.println(d+"天");

     }
     static void month_12(int date, boolean b)
     {
         int d;
         if (b)
         {
             d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + date;
         }
         else
         {
             d = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + date;
         }
         System.out.println(d+"天");
     }

}

 

9. 设有int n,设计一个Java程序,打印出1+3+5+…n之和,变量n的初始值在程序中指定。

 

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:设有int n,设计一个Java程序,打印出1+3+5+…n之和,变量n的初始值在程序中指定。
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_09 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n = 5,sum =0;
		for(int i = 1;i<=n;i=i+2)
		{
			sum = sum + i;
		}
		System.out.println("和为"+sum);

	}

}

10. 实现如下程序:

1>.写一个程序:输出一个直角三角形(上三角),行数由用户输入,如图1所示:

2>.写一个程序:输出一个直角三角形(下三角),行数由用户输入,入图2所示:

3>.写一个程序:输出一个直角三角形(下三角),行数由用户输入,入图3所示:

           

 

10. 实现如下程序:

1>.写一个程序:输出一个直角三角形(上三角),行数由用户输入,如图1所示:

2>.写一个程序:输出一个直角三角形(下三角),行数由用户输入,入图2所示:

3>.写一个程序:输出一个直角三角形(下三角),行数由用户输入,入图3所示:

 

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:10. 实现如下程序:
 
 1>.写一个程序:输出一个直角三角形(上三角),行数由用户输入:
 
2>.写一个程序:输出一个直角三角形(下三角),行数由用户输入:
 
3>.写一个程序:输出一个直角三角形(下三角),行数由用户输入:
         

* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_10 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("打印正三角:");
		System.out.print("请您输入打印三角形的行数:");
		int i = Console.readInt(), k = 1, l = i;
		for (int j = 1; j <= l; ++j) {
			int m = 1;
			while (m <= i - 1) {
				System.out.print(' ');
				++m;
			}
			m = 1;
			while (m <= 2 * j - 1) {
				System.out.print('*');
				++m;
			}
			System.out.println();
			--i;
		}

		System.out.println("打印倒三角:");
		System.out.print("请您输入打印三角形的行数:");
		i = Console.readInt();
		k = 1;
		l = i;
		for (int j = 1; j <= l; ++j) {
			int m = 1;
			while (m < j) {
				System.out.print(' ');
				++m;
			}
			m = 1;
			while (m <= 2 * i - 1) {
				System.out.print('*');
				++m;
			}
			System.out.println();
			--i;
		}
		
		
		
		System.out.println("打印菱形:");
		System.out.print("请您输入打印菱形的行数:");
		i = (Console.readInt()+1)/2;
		k = 1;
		l = i;
		for (int j = 1; j <= l; ++j) {
			int m = 1;
			while (m <= i - 1) {
				System.out.print(' ');
				++m;
			}
			m = 1;
			while (m <= 2 * j - 1) {
				System.out.print('*');
				++m;
			}
			System.out.println();
			--i;
		}
		i = l;
		k = 1;
		--i;
		for (int j = 2; j <= l; ++j) {
			int m = 1;
			while (m < j) {
				System.out.print(' ');
				++m;
			}
			m = 1;
			while (m <= 2 * i - 1) {
				System.out.print('*');
				++m;
			}
			System.out.println();
			--i;
		}
		

	}

}

 

11. 求1000之内的所有水仙花数

     本程序是Application程序.所谓水仙花数,是指一个三位整数,

它的各位数字的立方和等于这个数本身.

例如:371就是一个水仙花数,因为371=3*3*3+7*7*7+1*1*1.

(int i

bw = i/100;

shw = i%100/10或i/10%10;

gw = i%10

12. 求1000之内的所有完全数

   本程序是一个Application程序.所谓完全数,就是一个数恰好等于它的因子之和.

例如:

  6的因子为1,2,3,而6=1+2+3,因此6就是完全数.

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:求1000之内的所有完全数

* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_11 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int bw,shw ,gw,sum ;
		System.out.println("1000之内的所有水仙花数为:");
		for (int i=100;i<1000;++i)
		{
			 bw = i/100;
			shw = i%100/10;
			 gw = i%10;
			 sum = bw*bw*bw+shw*shw*shw+gw*gw*gw;
			 if(sum==i)
			 {
				 System.out.println(i);
			 }
			 
			
		}
		

	}

}

 

12. 求1000之内的所有完全数

   本程序是一个Application程序.所谓完全数,就是一个数恰好等于它的因子之和.

例如:

  6的因子为1,2,3,而6=1+2+3,因此6就是完全数.

 

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:求1000之内的所有完全数
  本程序是一个Application程序.所谓完全数,就是一个数恰好等于它的因子之和.

例如:
 6的因子为1,2,3,而6=1+2+3,因此6就是完全数.

* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_12 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i=1,j=1,m=1,k=0;
		System.out.println("1000之内的所有完全数为:");
		for (i=1;i<1000;++i)
		{
			for(j = 1,k =0;i>j;++j)
			{
				if (i%j==0)
				  k=k+j;
			}
			if (i==k)
			 System.out.println(i);
		}
	}
}

 

13. 求1~5的阶乘之和

    本程序是一个Application程序,求1~20的阶乘之和,

也就是求表达式1+2!+...+5!的值

 

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称:求1~5的阶乘之和

    本程序是一个Application程序,求1~20的阶乘之和,

也就是求表达式1+2!+...+5!的值

* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_13 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int sum = 0,i = 1,factorial =1;
		for(i = 1;i <= 20;++i)
		{
			factorial = factorial * i;
			sum = sum + factorial;
		}
		System.out.println("1到20的阶乘为:"+sum);
	}

}

14. 实现一个计算器,用户从键盘输入两个操作数和一个运算符(+、-、*、/、%),系统自动完成计算。

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
 * 文件名称: 实现一个计算器,用户从键盘输入两个操作数和一个运算符(+、-、*、/、%),系统自动完成计算。
 * 
* 作 者: 雷恒鑫 
* 完成日期: 2012 年 09 月 16 日
 * 版 本 号: V1.0 
* 对任务及求解方法的描述部分
 * 输入描述:
 * 问题描述:
 * 程序输出:
 
* 程序头部的注释结束
 
*/
public class Exercise_14 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("请您输入第一个操作数:");
		int first = Console.readInt();
		System.out.print("请您输入一个运算符:");
		char operator = Console.readLine_char();
		System.out.print("请您输入第二个操作数:");
		int second = Console.readInt();
		switch(operator)
		{
		case '+':System.out.println("first + second = "+(first + second));break;
		case '-':System.out.println("first - second = "+(first - second));break;
		case '*':System.out.println("first * second = "+(first * second));break;
		case '/':System.out.println("first / second = "+((double)first / second));break;
		default:System.out.println("您输入的运算符有误!");break;
		}
	}

}

 

下面是Console类:

 

import java.util.Scanner;

/*
 * @Copyright:2011 Shandong Strong software co,ltd.
 *            All right reserved.
 * @author:zy
 * @date:2012-9-14
 * @version:1.0
 */

/*
 *comment:一句话概括类完成的功能
 *description:详细描述类的功能
 */
public class Console
{

    public static String readLine(){
        Scanner sc=new Scanner(System.in);
        return sc.next();
    }
    public static char readLine_char(){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        return str.charAt(0);
    }
    public static int readInt(){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        return Integer.parseInt(str);
    }
    
    public static double readDouble(){
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        return Double.parseDouble(str);
    }
}

 

抱歉!评论已关闭.