首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-09-21 
JAVA技术支持课--第一次java语言技术支持授课思路(答案解析)1. 使用八种基本数据类型定义八个变量,然后在

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

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 stubboolean 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 stubSystem.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 stubSystem.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 stubSystem.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 stubSystem.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 stubSystem.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 stubSystem.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 stubint 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所示:

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

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

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

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

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

 

/* (程序头部注释开始) * 程序的版权和版本声明部分 * 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 stubSystem.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 stubint 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 stubint 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 stubint 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 stubSystem.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);    }}


 


热点排行