• JAVA上机题(3道)


    题目一:

    从控制台中读入一个文件名,判断该文件是否存在你的某个盘下。如果该文件存在,则在原文件相同路径下创建一个文件名为“copy_原文件名”的新文件,该文件内容为原文件的拷贝。

    首先肯定是要判断该文件名到底存不存在:

    我们定义一个方法:用来判断是否存在该文件,如果存在,获取父路径并拼接用来创建文件,如果不存在则打印“你输入的文件不存在”

    1. private static File createFile(String fileName) throws IOException {
    2. File file = new File(fileName);
    3. if (file.exists()) {
    4. //获取父路径并拼接
    5. File copyFile = new File(file.getParent() + "/copy_" + file.getName());
    6. //复制后的路径
    7. System.out.println(copyFile);
    8. //创建文件
    9. copyFile.createNewFile();
    10. //返回创建的文件
    11. return copyFile;
    12. } else {
    13. System.out.println("你输入的文件不存在");
    14. }
    15. return null;
    16. }
    17. }

    文件创建完成后,进行传输文件内容工作:

    判断是否创建完成,我这里用是否为空来判断:

    文件传输我这里没有解决异常(try...catch)而是选择抛异常的方式:

    1. private static boolean copyFile(String fileName) throws IOException {
    2. File copyFile = createFile(fileName);
    3. //判断拷贝是否为空
    4. if (copyFile == null) {
    5. return false;
    6. }
    7. InputStream inputStream = new FileInputStream(fileName);//读源文件
    8. OutputStream outputStream = new FileOutputStream(copyFile);//写到复制出的文件中
    9. int len = 0;
    10. while ((len = inputStream.read()) != -1) {
    11. outputStream.write(len);
    12. }
    13. inputStream.close();
    14. outputStream.close();
    15. return true;
    16. }

    主方法:

    1. public static void main(String[] args) {
    2. Scanner sc = new Scanner(System.in);
    3. System.out.println("请输入一个文件名:");
    4. String fileName = "C:/summerjava/" + sc.next();
    5. boolean flag = false;
    6. try {
    7. flag = copyFile(fileName);
    8. } catch (IOException e) {
    9. throw new RuntimeException(e);
    10. }
    11. System.out.println(flag);//创建成功
    12. }


    题目二:

    随机生成10个百位以内数字并存入集合中(任意集合均可,自行决定)。利用自己擅长的方式对其10个数字进行排序,排序后按小到大方式输出。

    看到这个题,首先一个知识点:随机数、第二个存入到集合里、第三个进行排序,(我这里用的是冒泡排序法)

     随机生成百位以内数字:

    int ran=new Random().nextInt(100)
    1. List<Integer> list = new ArrayList<>();
    2. for (int i = 0; i <10 ; i++) {
    3. list.add(new Random().nextInt(100));
    4. }//生成的10个随机数字,并存入到集合中
    5. System.out.println("随机生成的:"+list);
    6. for (int i = 0; i <list.size() ; i++) {
    7. for (int j = i; j <list.size() ; j++) {
    8. if(list.get(i)>=list.get(j)){
    9. int temp=list.get(i);
    10. list.set(i,list.get(j));
    11. list.set(j,temp);
    12. }
    13. }
    14. }
    15. System.out.println("排序后"+list);

    题目三:

    随机生成100个,10位字符串。字符由a-z,A-Z,0-9随机组成。并将生成的100个字符串存入容器中(提示:数组,集合)。假定从键盘输入一一个字符串,判断这个字符串是否在生成的100字符中。并给出友好提示。

    我首先定义一个方法用来生成十位随机字符串:

    1. public static String random(){
    2. String chars = "qwertyuioplkjhgfdsazxcvbnm0123456789QWERTYUIOPLKJHGFDSAZXCVBNM";
    3. StringBuffer value = new StringBuffer();
    4. for (int i = 0; i < 10; i++) {
    5. value.append(chars.charAt((int)(Math.random() * 62)));
    6. }
    7. return value.toString();
    8. }
    1. Scanner sc = new Scanner(System.in);
    2. System.out.println("请输入一个字符串");
    3. String str = sc.next();
    4. Boolean flag = false;
    5. String [] arr =new String[100];
    6. for (int i = 0; i <arr.length ; i++) {
    7. arr[i]=random();
    8. if(str==arr[i]){
    9. flag=true;
    10. }
    11. //System.out.println(arr[i]);//可以打印看看字符串都有什么
    12. }
    13. System.out.println("您输入的字符串:"+str+(flag?"在":"不在")+"随机生成的字符中");

  • 相关阅读:
    stm32使用通用定时器生成pwm
    Apache和Tomcat的区别
    【前端性能优化】 --- 一次总结明白
    如何搭建虚拟专有网络访问公司内网
    装饰器模式:让你的对象变得更强大
    [附源码]java毕业设计社区新冠疫情防控网站
    A-Level经济真题(10)
    整形和浮点型是如何在内存中的存储
    结构体(2),链表,共用体
    Sentinel浅层介绍(上)
  • 原文地址:https://blog.csdn.net/weixin_49627122/article/details/126375214