提示:java: 源值1.5已过时, 将在未来所有发行版中删除

提示:java: 源值1.5已过时, 将在未来所有发行版中删除

package com.imooc.choosebig;
import org.junit.Test;
import java.util.*;
public class Choose {
    @Test
    //新建了一个set专门存储随机生成的花朵大小值
     //然后再生成的同时用list存储随机生成的flower这里却报错,想问下如何修改呢?  
    public void chooseTheFlower() {
        Set<Integer> flowerSizeSet = new HashSet<Integer>();
        Flower flower = null;
        List <Flower> flowerList = new ArrayList<Flower>();
        int i=1;
        while(true){
            int size = ((int) (Math.random() * 100));
            flowerSizeSet.add(size);
            if(flowerSizeSet.size()==10) break;
        }
        Iterator flowerSizeIt =flowerSizeSet.iterator();
        while(flowerSizeIt.hasNext()){
            int k=0;
            flowerList.get(k)=new Flower(k+1,(Integer) flowerSizeIt.next());
            k++;
            if(k==10) break;
        }
        for(int j=0; j<flowerList.size(); j++){
            System.out.println((j+1)+"floor:"+flowerList.get(j).getSize());
        }
    }
}


package com.imooc.choosebig;
public class Flower {
    private Integer floor;
    private Integer size;
    public Flower (){
    }
    public Flower(Integer size){
        this.size=size;
    }
    public Flower(Integer floor, Integer size) {
        this.floor = floor;
        this.size = size;
    }
    public Integer getFloor() {
        return floor;
    }
    public void setFloor(Integer floor) {
        this.floor = floor;
    }
    public Integer getSize() {
        return size;
    }
    public void setSize(Integer size) {
        this.size = size;
    }
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好

1、java:源值1.5已过时,这个可能是项目中编译或者运行时,使用的jdk1.5,所以提示源值1.5已过时。建议同学按照如下方式将项目修改和自己安装的版本对应的jdk,比如我的是1.8的版本。如:

①点击File ->project Structure,

http://img1.sycdn.imooc.com//climg/5d5a5d120001acff06480315.jpg

http://img1.sycdn.imooc.com//climg/5d5a5d450001a12808120245.jpg

②选择File | Settings | Build, Execution, Deployment | Compiler | Java Compiler,修改如下的版本

http://img1.sycdn.imooc.com//climg/5d5a5da20001d86d10060363.jpg

2、同学说的报错是否是如下位置

https://img1.sycdn.imooc.com//climg/622ff7ae09574e8e06420326.jpg

如果是,这里get方法获取的是一个值,而不是一个变量,所以无法直接进行赋值操作

3、另外,同学的代码中并没有对list进行赋值,所以此时使用get()方法获取值时是会报数组越界异常的,所以同学获取集合中的值时需要先向集合中存入数据哦

祝学习愉快~

  • 晓舟 提问者 #1

    flower1 =new Flower(k+1,(Integer) flowerSizeIt.next()); 这里就是我插入的数据

    2022-03-15 10:40:40
  • 好帮手慕阿园 回复 提问者 晓舟 #2

    同学你好,同学在插入数据前做了get操作,所以会报错哦

    祝学习愉快~

    2022-03-15 11:31:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师