Java数组

import javax.swing.JOptionPane;


public class ketang1 {

    public static void main(String[] args) {
        //求一个数是否是素数

    /*String s=JOptionPane.showInputDialog(null,"请输入一个数");
    int x=Integer.parseInt(s);
    boolean j=false;
     for(int y=2;y<x;y++ )  //输入一个数判定是否是素数
     {
         if(x%y==0)        
         {
             j=true;
         }

     }

      if (j==flse){

                  System.out.println("这是一个素数");

else{

         System.out.println("这不是一个素数");

}

}

        //定义一个数组并打印
     int[] a=new int[6];
     a[0]=5;a[1]=9;a[2]=4;a[3]=20;a[4]=16;
     System.out.println(a[0]+" "+a[1]+" "+a[2]+" "+a[3]+" "+a[4]);
     //定义循环的数组
     for(int i=0;i<a.length; i++)
     {
         System.out.println(a[i]);
     }*/
        //创建数组并给他们赋初始化值
  /*   int[] p={7,9,5,12,23};
     for(int g=0;g<p.length;g++)
     {
         System.out.println(p[g]);
     }*/
        //定义一个字符串的并用循环打印
    /*    String a[]={"s","b","t","ds"};
        for(int i=0;i<a.length;i++)
        {
            System.out.println(a[i]);
        }
        */
        /*    int a[]=new int[5]    ;                                    //打印用户输入的整数
                                                    //定义一个 数组个数为5
        for(int i=0;i<a.length;i++)
        {
        String s=    JOptionPane.showInputDialog(null,"请输入5个数");
            a[i]=    Integer.parseInt(s);                                    //每次把用户输入的数字转换为int类型的
        }
        for(int x=0;x<a.length;x++)
        {
            System.out.println(a[x]);
        }
                        */                                //请用户输入5个数
                                                         //把用户输入的值转换为int类型的赋值给a【i】a0 a1 a2 a3 a4
        
                                                        //输入打印用户输入的数用一个循环 因为上面已经把数取到
        
            ;
        
        //打印用户输入的字符串 //设置一个4个字符串的数组 写一个循环每次用户输入的值给数组中的元素 因为这个输入的
        //是字符串类型的所以说可以直接赋值
        /*    String a[]=new String[4]; //设定一个数组用来存储字符串
            for(int x= 0;x<a.length;x++)        //用一个循环来给数组中的元素赋值 每次用户输入的数都赋值给a[x]
            {
                String s=JOptionPane.showInputDialog(null, "请用户输入名字");
                a[x]=s;        //这是给a[x]赋值的因为s是字符串所以可以直接赋值不用转换
            }
            for(int x=0;x<a.length;x++) //输出这a【x】的值这个是把用户输入的值赋给元素后下标上的值
            {
                System.out.println(a[x]);
            }
            */
        
        //首先把他们每个的角标数取出来再进行比较 设置第三方变量
        //定义一个记录他的角标的变量当一个数 需求 求一个数的最大的值 并记录他的角标号
        /*int[]a={4,58,6,7,98};//定义一个数组
         int max=0;   //定义一个存储最大数的一个变量设置为Max
         int man=0;        //定义一个求他角标号 的一个变量
         for(int x=0;x<a.length;x++) //首先把数组中的角标号来和max相比
         {
             if(a[x]>max){          //如果比max的值大那么把a【x】角标号的值赋给max如果比他小则继续循环知道所有
                 max=a[x];            //角标号的值和max比完那么最后在max中的值就是其最大的数
                 man=x;                //如果a[x]的值比max大那么就把他这次循环的次数赋值给man这就是最大位的角标号
             }
         }
         System.out.println(max); //输出打印最大数的值和角标位
         System.out.println(man);*/
        //首先輸入數組字符串類型的 再設定一個记录他角标的变量当用户输入的名字
        //和我们数组中有一样的时候把i赋值给 max纪律他的变量
        //判定如果等于结果是真否则为假 跳出循环判断c的值是真是假如果是真那么在
        //我的数组当中 有这个输入的值打印出他的名字 并打印出记录他位子的数字
        /*//
                String []t={"hu","jun","wen"};//创建字符串数组
                int x=-1;                      //设置判断他角标的号码为-1因为只要负数不在数组里所以是假
                
                String s=JOptionPane.showInputDialog(null,"请输第个姓名"); //请用户输入一个名字
                for(int y=0;y<t.length;y++)  //执行循环把t中的名字和用户输入的名字进行比较
                {
                    if(s.equals(t[y]))
                    {
                        x=y;           //假如相同的话把 y的值赋给x ,y的值是这个名字的角标位数 他循环了几次就在几位跳出
                        break;
                    }
                }
                if(x==-1){              //判定如果x==-1的话说明这个数组里没有满足用户输入名字的一个数
                    System.out.println(s+"没这个人");
                }else{
                    System.out.println(s+"有这个人在第"+x+"位");//如果不等于-1说明里面的判断满足 用户输入的s和数组里有同样
                }                                                *///的把y的值赋给x并打印
                
        //需求打印出员工姓名和工资 先定义一个字符串类型的数组
        //在定义一个int类型的数组接受用户输入的工资 在把每次打印的结果赋值给角标
        //在打印出他们工资和员工对应的姓名
    
                String a[]=new String [4];        //首先声明一个字符串型的数组来存储他们的名字
                int    b[]=    new int[4];            //再声明一个数组来存储他们的工资
                int max =0;                            //定义一个max来存储他们的工资最多的如果b[i]大于max那么就把其值
                int man=-1;                    //赋值给max  在定义一个记录他们下标的数-1因为他们输入都是对应的缩影下标相同
        
                for(int x=0;x<a.length;x++) //循环用户输入的4个名字和工资
                {
                String w=    JOptionPane.showInputDialog(null,"请输入名字");
                String q=    JOptionPane.showInputDialog(null,"请输入工资");
                a[x]=w;
                b[x]=Integer.parseInt(q);    //循环一次赋值一次a0 b0 a1 b1 直到他们赋值完成输入4次
                
                }
                String str="姓名      工资"+"\n"; //定义一个字符串的变量用于连接每次输出一个值
                for(int i=0;i<a.length;i++)        //输入的值每一个都记录在数组中现在判定最高工资用循环判断
                {
                    str=str+a[i]       +b[i]+"\n";//用字符串连接他们姓名和成绩每次换行继续打印直达打印结束
                    if(b[i]>max) //如果max小与b【i】把把它的值赋给max
                    {
                        max=b[i];
                        man=i;                //那么最大的值得下标就是循环的次数 把循环的次数赋值给man记录
                    }
                }
                         JOptionPane.showMessageDialog(null, str);    
                         JOptionPane.showMessageDialog(null, a[man]+b[man]);//    打印出他们的值a【man】是他们的下标
                                                                            //就是他们最高工资和对应的姓名
        ;                                                        
        
                                                                  
        
        
    
            
            
        
        
                
                //需求输入一个姓名找找他们的工资
            
        
    /*    String []a={"胡君问","孙威","贾浩"};
        int b[]  ={20000,8000,7000};
        //接收用户的姓名
        String s=JOptionPane.showInputDialog(null,"请输入姓名");
        int w= Integer.parseInt(s);
        //    定义该姓名对应的下标
        int jj=-1;
         for(int i=0;i<a.length;i++)
         {
             //比较输入姓名和数组元素是否相等
             if(w==b[i])
             {
                 jj=i;
             }
         }
         if(jj==-1)//一直没有进入if里判断
         {
             JOptionPane.showMessageDialog(null, "查无此人");
         }
         else{
            
             JOptionPane.showMessageDialog(null, a[jj]);
         }*/
    /*    int a[]={12,7,6,8};
        int xb=0;//设置记录7的位置的角标
        for(int x=0;0<a.length;x++)
        {                    //循环判定这个数组有没7这个数
            if(a[x]==7) //如果a[]变量里有7这个数
            {
                xb=x; //那么就是把次数赋值给纪录角标的变量
                break;//再跳出循环 这个xb就是7的一个角标号
            }
            }
            for(int i=xb;i<a.length-1;i++)
            {                //循环通过替换的方式删除7这个数
                a[i]=a[i+1];//先把7的角标号赋值给i变量,i变量小于a数组减1
                            //因为3个数的替换只有两次第三次就没有替换的数字了
                            //在执行a[i]=a[i+1]这是在给7换位置因为xb就是7的角标号
                            //每次做加1的运算再赋值给a[i]那么a[i]就是6的角标号2
                            //不停的执行这样的循环直到条件不满足 换位成功 退出循环
            }
            for(int x=0;x<3;x++)//因为只有4个数字删除1个7还有3个所以x<3
                                //
            {
                System.out.println(a[x]);
            }
        */
        
    }
    
}
   

内容概要:本文针对国内加密货币市场预测研究较少的现状,采用BP神经网络构建了CCi30指数预测模型。研究选取2018年3月1日至2019年3月26日共391天的数据作为样本,通过“试凑法”确定最优隐结点数目,建立三层BP神经网络模型对CCi30指数收盘价进行预测。论文详细介绍了数据预处理、模型构建、训练及评估过程,包括数据归一化、特征工程、模型架构设计(如输入层、隐藏层、输出层)、模型编译与训练、模型评估(如RMSE、MAE计算)以及结果可视化。研究表明,该模型在短期内能较准确地预测指数变化趋势。此外,文章还讨论了隐层节点数的优化方法及其对预测性能的影响,并提出了若干改进建议,如引入更多技术指标、优化模型架构、尝试其他时序模型等。 适合人群:对加密货币市场预测感兴趣的研究人员、投资者及具备一定编程基础的数据分析师。 使用场景及目标:①为加密货币市场投资者提供一种新的预测工具和方法;②帮助研究人员理解BP神经网络在时间序列预测中的应用;③为后续研究提供改进方向,如数据增强、模型优化、特征工程等。 其他说明:尽管该模型在短期内表现出良好的预测性能,但仍存在一定局限性,如样本量较小、未考虑外部因素影响等。因此,在实际应用中需谨慎对待模型预测结果,并结合其他分析工具共同决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值