Java API练习2

要求一:
完成一个java application应用程序,通过接收用户通过键盘输入的文本,把每次回车输入的字符串动态加入到Vector类对象中,并显示此Vector类对象中存储的字符串。
要求二:
完成一个 java application应用程序,计算执行十亿次空循环所需要的时间,并在不同cup主频的计算机上运行此程序,比较其运算所需时间有何差别。

1、思路与知识点

  • 关于Vector类:
    翻阅jdk手册,可看到Vector 类为可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。
    具有方法如下:
    在这里插入图片描述
    可以看到:
    addELement()用法:将指定的组件添加到此向量的末尾,将其大小增加1.如果向量的大小比容量大,则增大其容量。
    add()用法:可以将指定元素添加到此向量的末尾

因此在创建Vector类后,可以使用addELement()方法把输入的文本添加到创建的对象中。

  • 关于System中的currentTimeMillis方法:

    返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。

2、代码

任务一:

import java.util.Scanner;
import java.util.Vector;

/*
完成一个java application应用程序,通过接收用户通过键盘输入的文本,
    把每次回车输入的字符串动态加入到Vector类对象中,并显示此Vector类对象中存储的字符串。
 */
public class ApiTest2 {//类名
    public static void main(String[] args) {//主入口
        Scanner s = new Scanner(System.in);//输入对象创建,键盘等待用户输入直到输入回车停止
        Vector v = new Vector();//创建Vector类对象
//输入文本方法
        while(true){
            System.out.println("请输入任意文本:");
            String text = s.nextLine();//读取输入的下一行
            if (!text.equals("quit")){//输入文本不为quit时存储输入内容
                v.addElement(text);//调用addElement方法将输入文本添加至v对象中
                System.out.println("输入存储内容为:"+v);
            }else{
                System.exit(0);//若用户输入文本为quit,则强制退出jvm结束程序
            }
        }
    }
}


任务二:

/*
完成一个 java application应用程序,计算执行十亿次空循环所需要的时间,
    并在不同cup主频的计算机上运行此程序,比较其运算所需时间有何差别。
 */
public class ApiTest3 {//类名
    public static void main(String[] args) {//主入口
        emptyLoop();//调用方法emptyLoop()
        //注意:开始方法未定义成静态的,报错:无法在静态上下文中引用非静态。
        //解决方法:1、将调用的方法设置成静态方法;
        //         2、new本类,通过实例来调用。
    }
    //定义执行十亿次空循环的方法
    public static double emptyLoop(){
        long loopStart = System.currentTimeMillis();//定义long型起始时间变量
        for(int i=1;i<=1000000000;i++);//执行十亿次空循环
        long loopEnd = System.currentTimeMillis();//定义long型结束时间变量
        double loopTime = loopEnd - loopStart;//求出执行循环所用时间
        System.out.println("执行十亿次空循环所用时间为:"+loopTime+"ms");
        return loopTime;//返回值
    }
}

3、运行结果

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值