《Java程序设计》实验7

1、 编写程序随机生成k个位于[m,n]区间的整数,对这k个数据进行升序排序并输出。

import java.util.Random;
import java.util.Scanner;public class Num {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();int array[] = new int[num];Random ran = new Random();sc.close();for(int i = 0;i < array.length;i++) {array[i] = ran.nextInt(30) + 1;}for(int i = 0;i < array.length;i++) {for(int j = 0;j < array.length - 1 - i;j++) {if(array[j] > array[j + 1]) {int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}for(int i = 0;i < array.length;i++) {System.out.println(array[i] + " ");}}
}

2、 有这样一类字符串,它们顺着看和倒着看是相同的数,例如:121、656、2332、ABCBA等,这样的字符串就称为回文串。编写一个Java程序,判断从键盘接收的字符串是否为回文串。

package homework.test;
import java.util.Scanner;
public class HuiWenString {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s = sc.next();sc.close();StringBuffer sb = new StringBuffer(s);sb.reverse();if(s.equals(sb.toString())) {System.out.println(s + "是一个回文串");}else {System.out.println(s + "不是一个回文串");}}
}

3、利用接口做参数,写个计算器,能完成±*/运算

(1)定义一个接口Compute含有一个方法int computer(int n,int m);

package homework.test;public interface Compute {int computer(int n,int m);
}

(2)设计四个类分别实现此接口,完成±*/运算;

package homework.test;public class Add implements Compute {@Overridepublic int computer(int n, int m) {return n + m;}
}
package homework.test;public class Subtract implements Compute {@Overridepublic int computer(int n, int m) {return n - m;}
}
package homework.test;public class Multiply implements Compute {@Overridepublic int computer(int n, int m) {return n * m;}
}
package homework.test;public class Divide implements Compute {@Overridepublic int computer(int n, int m) {return n / m;}}

(3)设计一个类UseCompute,含有方法:
public void useCom(Compute com, int one, int two)
此方法要求能够:
1.用传递过来的对象调用computer方法完成运算
2.输出运算的结果

package homework.test;public class UseCompute {public static void useCom(Compute com,int one,int two) {System.out.println("调用的类为:"+com.getClass().getName()+" 得到的结果为:"+com.computer(one, two));}
}

(4)设计一个测试类,调用UseCompute中的方法useCom来完成±*/运算

package homework.test;public class ComputeTest {public static void main(String[] args) {double ans;Compute computer;computer = new Add();UseCompute.useCom(computer,20,5);computer = new Subtract();UseCompute.useCom(computer,20,5);computer = new Multiply();UseCompute.useCom(computer,20,5);computer = new Divide();UseCompute.useCom(computer,20,5);}
}

4、设计一个13位ISBN书号校验程序。13位ISBN的校验码计算规则是这样的:前12位数依次乘以1和3,然后求它们的和除以10的余数,最后用10减去这个余数,就得到了校验码(最后一位数字)。如果余数为0,则校验码为0。
比如,ISBN:9787302222224,它的校验码计算方法如下:
9x1+7x3+8x1+7x3+3x1+0x3+2x1+2x3+2x1+2x3+2x1+2x3
= 9+21+8+21+3+0+2+6+2+6+2+6
= 86 86%10=6 10-6=4 所以,在13位ISBN中,这本书的校验码应该为4。 编写一个应用程序ISBNVerification.java,使得该程序可以实现以下功能:从键盘输入中国的某ISBN书号,程序判断输入的ISBN书号是否符合标准的书号,如果输入的书号符合标准,则输出“符合标准”,否则输出“不符合标准”。

package homework.test;import java.util.Scanner;
public class ISBNVerification {public static void main(String[] args) {String s;Scanner sc = new Scanner(System.in);s = sc.next();sc.close();int num = 0;for(int i = 0;i < 12; i++){if(i % 2 == 0){num += (s.charAt(i)-'0');}else num += (s.charAt(i)-'0')*3;}if(num % 10 == 0) System.out.println("校验码为0");else System.out.println("校验码为"+(10-(num%10)));}
}

5、从控制台输入一个正整数,编程输出该正整数各位数字之和。

package homework.test;import java.util.Scanner;
public class GetSum {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");long input = sc.nextLong();sc.close();System.out.println(getSum(input));}public static long getSum(long num) {long units;long sum = 0;while(num != 0) {units = num % 10;sum += units;num = (num - units) / 10;}return sum;}
}

6、采用计算机模拟掷骰子30000次,编写程序统计1、2、3、4、5、6点数各自出现的次数。

package homework.test;public class Statistics {public static void main(String[] args) {System.out.println("掷骰子30000次,各点值出现的次数:\n");int m;int score[][] = {{1,0},{2,0},{3,0},{4,0},{5,0},{6,0}};for(int k = 0;k <30000;k++) {m = (int)(1 + Math.random() * 6);score[m - 1][1]++;}for(int x = 0;x < 6;x++) {for(int y = 0;y < 2;y++) {System.out.println(score[x][y]);}System.out.println("\n");}}
}

7、根据用户输入的文件名称(带文件后缀的全称)来判断用户输入的文件类型。为了简化问题,我们在这里只考虑以下几种类型:
(1).txt、.doc:文本文件; (2).jpeg、.jpg、.bmp、.png、.gif:图片文件;
(3).wmv、.avi、.rmvb:视频文件; (4).mp3:音频文件; (5).java:java类文件。

package homework.test;import java.util.Scanner;
public class FileType {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入文件名:");String str = sc.next();fileType(str);sc.close();}public static void fileType(String fileName) {if(fileName == null) {fileName = "文件名为空!";System.out.println(fileName);}else {String fileType = fileName.substring(fileName.lastIndexOf(".")+1,fileName.length()).toLowerCase();String img[] = {".jpeg",".jpg",".bmp",".png",".gif"};for(int i = 0;i < img.length;i++) {if(img[i].equals(fileName)) {System.out.println("图片");}}String document[] = {".txt",".doc"};for(int i = 0;i < document.length;i++) {if(document[i].equals(fileName)) {System.out.println("文档");}}String video[] = {".wmv",".avi",".rmvb"};for(int i = 0;i < video.length;i++) {if(video[i].equals(fileName)) {System.out.println("视频");}}String music[] = {".mp3"};for(int i = 0;i < music.length;i++) {if(music[i].equals(fileName)) {System.out.println("音乐");}}String java[] = {".java"};for(int i = 0;i < java.length;i++) {if(java[i].equals(fileName)) {System.out.println("java");}}}}
}

8、编写程序实现以下具体功能:人与电脑猜拳游戏——石头、剪刀、布。
规则:<石头-剪刀>:石头赢;<剪刀-布>:剪刀赢;<布-石头>:布赢;当人与电脑出拳相同时,显示平局。

package homework.test;import java.util.Scanner;
public class Game {public static void main(String[] args) {while(true) {System.out.println("******欢迎进入猜拳游戏******");System.out.println("请出拳:(1剪刀,2石头,3布)");Scanner sc = new Scanner(System.in);int person = sc.nextInt();int computer = (int)(Math.random()*3 + 1);String per = "用户";String com = "电脑";switch(person) {case 1:per = "剪刀";break;case 2:per = "石头";break;case 3:per = "布";break;}switch(computer) {case 1:com = "剪刀";break;case 2:com = "石头";break;case 3:per = "布";break;}if(person == 1 && computer == 2 || person == 2 && computer == 3 || person == 3 && computer == 1) {System.out.println("你出的是("+per+")       电脑出的是("+com+")");System.out.println("【你输了!继续加油吧!】");}else if(person == computer) {System.out.println("你出的是("+per+")       电脑出的是("+com+")");System.out.println("【平局,请继续。】");}else {System.out.println("你出的是("+per+")       电脑出的是("+com+")");System.out.println("【恭喜你赢了!】");System.out.println("【你终于战胜了电脑,游戏结束!】");break;}}}
}

《Java程序设计》实验7 - 随机函数Random()的使用相关推荐

  1. java程序设计实验报告_JavA程序设计实验报告.doc

    Java程序设计实验报告 学号: 姓名: 座位号: 实验日期: [实验名称]: JDK配置与开发工具的使用 [实验目的]: 熟悉JDK开发环境. 熟悉EditPlus编辑器或Eclipse等开发环境的 ...

  2. java实验四云南大学_云南大学JAVA程序设计实验四

    云南大学JAVA程序设计实验 云南大学软件学院 实 验 报 告 序 号: 实验老师: 陆歌皓 课程名称: JAVA程序设计实验 实验名称: lab4 学 号: 20111120279 姓 名: 李张昱 ...

  3. 计算器java程序设计报告总体设计,java程序设计实验报告-计算器

    <java程序设计实验报告-计算器>由会员分享,可在线阅读,更多相关<java程序设计实验报告-计算器(18页珍藏版)>请在金锄头文库上搜索. 1. Java 程序设计实验报告 ...

  4. 南邮java实验_南邮JAVA程序设计实验4 线程程序设计(指针式时钟)

    南邮JAVA程序设计实验4  线程程序设计(指针式时钟) 实验目的: 本实验旨在通过实验,培养学生将JAVA 线程的相关知识点(包括线程调度,线程同步等)有机结合并加以综合应用,在实验中设计多线程程序 ...

  5. java象棋实验报告_中国象棋java程序设计实验报告

    中国象棋java程序设计实验报告 东北大学秦皇岛分校信息与计算科学系Java 程序设计实验报告专业名称 信 息 与 计 算 科 学班级学号 7080206学生姓名 彭 军指导教师 王 薇完成时间 20 ...

  6. java象棋实验报告_中国象棋java程序设计实验报告.doc

    中国象棋java程序设计实验报告.doc 东北大学秦皇岛分校 信息与计算科学系 Java 程序设计实验报告 专业名称 信息与计算科学 班级学号 7080206 学生姓名 彭 军 指导教师 王薇 完成时 ...

  7. Java程序设计实验报告 实验名称:循环和数组

    Java程序设计实验报告 实验名称:循环和数组 学号: 姓名:大聪TI学员 实验日期:2018年5月30日星期三 一.实验目的: 1. 遵循循环设计策略来开发循环,使用标记值控制循环. 2. 使用fo ...

  8. java合肥工业大学考试题库_合肥工业大学java程序设计实验二

    合肥工业大学java程序设计实验二 1 / 3<Java 程序设计>实验报告--实验 2实验室:三.四机房 2014 年 05 月 22日学院 计算机与信息学院 专业班级 姓名 成绩课程名 ...

  9. Java程序设计 实验三

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1353       姓名:李海空  学号:20135329 成绩:             指 ...

最新文章

  1. php方法数组注释,php中的注释、变量、数组、常量、函数应用介绍
  2. 虚拟机VMware操作系统安装
  3. catia 快捷键 激活零件_CATIA基本操作技巧
  4. TCP 和IP的区别
  5. java基本数据类型存储,JAVA - 基本数据类型的存储空间长度
  6. JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
  7. 马化腾说话都不好使了?腾讯上线匿名社交APP,升级版漂流瓶?
  8. linux 把秒数转换为正常时间格式命令
  9. 在Linux系统中允许或拒绝SSH访问特定用户或组的方法
  10. 酒店管理系统需求获取分析——G001-186-17
  11. sklearn 5.18.3 SGD - Maximum margin separating hyperplane
  12. 中间件系列六 RabbitMQ之Topic exchange 用法
  13. Unity游戏开发图片纹理压缩方案
  14. Android9.0 HAL 层开发
  15. java线程游戏V4之飞机大战(二)
  16. 01.Win10修改用户名及user文件名称的一波三折
  17. 【开发工具】 Photoshop CS6 安装与破解
  18. 面试题 16.17. 连续数列
  19. TCP/IP协议(二、初识tcp)
  20. Velocity模板语言VTL

热门文章

  1. 刚刚登场的新一任杭州80后首富
  2. CISA证书为什么是IT行业薪酬最高之一
  3. vueC-cli3 测试环境打包js文件配置
  4. ArcGIS Enterprise 简介
  5. 转自阿里巴巴的开发手册
  6. 用服务器监控手机位置,云服务器监控手机
  7. 电子商务模块实训作业
  8. 目标定位和检测系列:交并比(IOU)和非极大值抑制(NMS)的python与C/C++实现
  9. Node.js初学笔记
  10. Splunk SPL accum