day 10 2021.2.28 常用的API

本文通过具体实例介绍了Java中Scanner类的应用,包括基本输入操作、比较数值大小及匿名对象的使用,并展示了如何利用Random类生成随机数,最后通过一个猜数字游戏综合运用上述知识点。

API

Scanner类

练习题

1.求两数之和

package com.wang.API.Scanner.Demo1.Demo2;

import java.util.Scanner;

public class Sum {
    public static void main(String[] args) {
        int c;
        Scanner scanner = new Scanner(System.in);

        int a = scanner.nextInt();
        int b = scanner.nextInt();
        c = a + b;
        System.out.println(c);
    }
}

2.求三数比大小:

package com.wang.API.Scanner.Demo1.Demo2;

import java.util.Scanner;

public class Max {
    public static void main(String[] args) {
        int max;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        int a = scanner.nextInt();
        System.out.println("请输入第二个数字:");
        int b = scanner.nextInt();
        System.out.println("请输入第三个数字:");
        int c = scanner.nextInt();
        if (a>b){
            if (a>c){
                max = a;
            }else{
                max = c;
            }
        }else{if (b>c){
            max = b;
        }else {
            max = c;
        }
        }
        System.out.println("最大值为:"+max);
    }
}

匿名对象

package com.wang.API.Scanner.Demo1.Demo3;

/*
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符
new 类名称();

注意事项:匿名对象只能使用一次,下次使用又需要再次创建
 */

public class Demo3 {
    public static void main(String[] args) {
        Person one = new Person();
        one.name="高圆圆";
        one.showName();

        System.out.println("============");
        new Person().name = "赵又廷";
        new Person().showName();
        //出来的是我叫null
        //因为此对象又被new了一次
        
    }
}

用匿名对象使用Scanner

package com.wang.API.Scanner.Demo1.Demo3;

import java.util.Scanner;

public class Demo1 {
    public static void main(String[] args) {
        //匿名对象 
        int num = new Scanner(System.in).nextInt();
        System.out.println("输入的是:"+num);
    }
}

Random

package com.wang.API.Scanner.Demo1.Demo4;

/*
Random类用来生成随机数字
1.导包
2.创建
Random r = new Random();
3,使用
获取一个随机的int数字:
int num = r.nextInt()  (此时生成的数的范围是int的范围)
int num = r.nextInt(n) (此时的范围是【0,n)
*/

import java.util.Random;

public class Demo1 {
    public static void main(String[] args) {
        Random random =new Random();
        int a = random.nextInt(100);
        System.out.println("随机数字为:"+a);
    }
}

使用Randmom创建的1-100之间猜数游戏练习

将随机值控制在1-100之间

将可以猜测的次数控制在10次之内

package com.wang.API.Scanner.Demo1.Demo4;

import java.util.Random;
import java.util.Scanner;

public class Game {
    public static void main(String[] args) {
        Random random = new Random();
        int a = random.nextInt(100) + 1;
        //变为1-100的范围
        int i = 0;
        int n = 0;

        System.out.println("请输入你猜的数字:");
        do {
            n++;

            int num = new Scanner(System.in).nextInt();
            if (num > a) {
                System.out.println("猜大了");
            } else if (num < a) {
                System.out.println("猜小了");
            } else {
                i++;
                System.out.println("恭喜你,猜对啦!");
                break;//猜中跳出循环
                }
            if (n>10){
                System.out.println("您猜测的次数超过十次");
                break;
            }else {
                System.out.println("请输入你再次猜测的数字:");
            }
        } while (i == 0);
        if (n <= 10){
            System.out.println("您猜对数字一共花费了"+n+"次。");
            System.out.println("游戏结束!");
        }else {
            System.out.println("游戏失败!");
        }

    }
}

对象数组

main方法

package com.wang.API.Array;

/*
题目:
要求定义一个数组,用来存储三个Person对象

数组有一个缺点
一旦创建,数组的长度不能发生改变了
 */

public class Demo1 {
    public static void main(String[] args) {
        Person[] array = new Person[3];
        Person one = new Person("迪丽热巴",18);
        Person two = new Person("古力娜扎",28);
        Person three = new Person("马尔扎哈",38);

        array[0] = one;//将one中的地址值 赋值到0号元素中
        array[1] = two;
        array[2] = three;

        System.out.println(array[1].getName());
    }
}

Person类

package com.wang.API.Array;

public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
MATLAB代码实现了一个基于多种智能优化算法优化RBF神经网络的回归预测模型,其核心是通过智能优化算法自动寻找最优的RBF扩展参数(spread),以提升预测精度。 1.主要功能 多算法优化RBF网络:使用多种智能优化算法优化RBF神经网络的核心参数spread。 回归预测:对输入特征进行回归预测,适用于连续值输出问题。 性能对比:对比不同优化算法在训练集和测试集上的预测性能,绘制适应度曲线、预测对比图、误差指标柱状图等。 2.算法步骤 数据准备:导入数据,随机打乱,划分训练集和测试集(默认7:3)。 数据归一化:使用mapminmax将输入和输出归一化到[0,1]区间。 标准RBF建模:使用固定spread=100建立基准RBF模型。 智能优化循环: 调用优化算法(从指定文件夹中读取算法文件)优化spread参数。 使用优化后的spread重新训练RBF网络。 评估预测结果,保存性能指标。 结果可视化: 绘制适应度曲线、训练集/测试集预测对比图。 绘制误差指标(MAE、RMSE、MAPE、MBE)柱状图。 十种智能优化算法分别是: GWO:灰狼算法 HBA:蜜獾算法 IAO:改进天鹰优化算法,改进①:Tent混沌映射种群初始化,改进②:自适应权重 MFO:飞蛾扑火算法 MPA:海洋捕食者算法 NGO:北方苍鹰算法 OOA:鱼鹰优化算法 RTH:红尾鹰算法 WOA:鲸鱼算法 ZOA:斑马算法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值