这个程序在windows平台下能正常输出,结果也是对的。到linux下运行在50行产生数组溢出是怎么回事呢

问题描述

importjava.io.*;importjava.util.*;publicclassRout{publicstaticvoidmain(String[]args){//StringfilePath="d:\java\javatest\rout.txt";intreadLine[];readLine=newint[14];StringreadResult[]=newString[14];BufferedReaderreader=null;try{FileReaderfileIn=newFileReader("./rout.txt");reader=newBufferedReader((fileIn));if(reader.ready()){for(intline=0;line<readLine.length;line++){readResult[line]=reader.readLine();if(readLine.length<=0){System.out.println("指定行超出范围");}else{//System.out.println("readResult["+line+"]="+readResult[line]+",n");}}}}catch(FileNotFoundExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}finally{if(reader!=null){try{reader.close();}catch(IOExceptione){e.printStackTrace();}}}inti,j;String[]b=newString[14];double[]c=newdouble[14];for(i=0;i<readResult.length;i++){String[]ss=newString[2];ss=readResult[i].split("\s+",2);//for(j=0;j<ss.length;j++){System.out.println("ss[1]="+ss[1]);//b[i]=ss[0];c[i]=Integer.parseInt(ss[1]);//System.out.println("b["+i+"]="+b[i]);//System.out.println("c["+i+"]="+c[i]);}}doublesum0,sum1,sum2,sum3;sum0=add(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13]);sum1=add(c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13]);sum2=add(c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13]);sum3=add(c[7],c[8],c[9],c[10],c[11],c[12],c[13]);try{if(sum0==0)thrownewArithmeticException("一个算术异常");elseSystem.out.println(sum1+"/"+sum0+"="+(sum1/sum0));System.out.println(100+"*"+(sum1/sum0)+"="+(100*(sum1/sum0)));System.out.println(sum2+"/"+sum0+"="+(sum2/sum0));System.out.println(100+"*"+(sum2/sum0)+"="+(100*(sum2/sum0)));System.out.println(sum3+"/"+sum0+"="+(sum3/sum0));System.out.println(100+"*"+(sum3/sum0)+"="+(100*(sum3/sum0)));}catch(ArithmeticExceptione){System.out.println("抛出异常为:"+e);}}publicstaticdoubleadd(doubled,doublee,doublef,doubleg,doubleh,doublek,doublel,doublen,doublem,doubleo,doublep,doubleq,doubler,doubles){returnd+e+f+g+h+k+l+n+m+o+p+q+r+s;}publicstaticdoubleadd(doubled,doublee,doublef,doubleg,doubleh,doublek,doublel,doublen,doublem,doubleo,doublep,doubleq,doubler){returnd+e+f+g+h+k+l+n+m+o+p+q+r;}publicstaticdoubleadd(doubled,doublee,doublef,doubleg,doubleh,doublek,doublel,doublen,doublem){returnd+e+f+g+h+k+l+n+m;}publicstaticdoubleadd(doubled,doublee,doublef,doubleg,doubleh,doublek,doublel){returnd+e+f+g+h+k+l;}}这个程序在windows平台下能正常输出,结果也是对的。到linux下运行在50行产生数组溢出是怎么回事呢?请大侠帮忙看看

时间: 2024-11-03 21:03:27

这个程序在windows平台下能正常输出,结果也是对的。到linux下运行在50行产生数组溢出是怎么回事呢的相关文章

上手指南:开启你的Windows平台Linux子系统之路

在我的Windows开发者PC端安装了两个Linux发行版,它们不是虚拟机或双启动系统,也没有去寻找下载页面和解压缩安装文件通常路线,而是到Windows商店搜索Linux,选择想要的发行版并且安装上.下载完毕之后,打开终端窗口并填写用户名和密码,开始安装. 我运行了最新版本的Windows10系统,添加了Windows平台Linux子系统最新功能.引入了Windows10周年升级版和Windows10最新升级版本.Windows平台Linux子系统(WSL)是微软对于"如何让开发人员再次使用W

windows和linux下androidSDK是否通用?

  最新想搬到Linux上学习.可是AndroidSDK那玩意儿实在太大.咱们的信息长城又太高.想用sdkManager下载完整的sdk基本是不可能的.除非你网速好到没朋友.. 说到信息长城.我不得不多说两句.. 搞IT的想必最近都感觉到了.长城又高了.又厚实了..对我们这些不想用付费VPN的人来讲.实在是苦不堪言 虽说道高一尺.总会有工具能帮我们翻出去.可是.. 我只想说.在这个信息化时代.把信息长城修筑的这么高.这么厚.真的好吗?真的是在保护我们吗? 如果真到了国内无论使用任何办法都翻不出去

Linux下程序崩溃,ulimit,coredump,gdbserver

操作系统:Ubuntu10.04 前言:    在程序崩溃后,如何快速定位问题.    以下方法适用于开发调试阶段,不太适用成品.    本文着眼于嵌入式,PC方面更简单.    核心:gdbserver + coredump 一,安装,配置,使用 gdbserver    arm linux下安装gdb,gdbserver调试器 二,启动 coredump    linux下ulimit命令下的coredump  三,实例    1,源码 点击(此处)折叠或打开 #include <stdio

Windows和Linux下定时删除某天前的文件的脚本_DOS/BAT

以前做到最多的定时我们就是定时备份功能了,我们常用利用定时功能来备份网站数据或备份数据库了,下面我来给(www.jb51.net)大家介绍几个Linux与Windows中定时删除某天前的文件方法,这个与备份有点区别,但大同小义了. Windows下bat文件内容如下: 复制代码 代码如下: @echo off forfiles -p "D:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"

在 Linux下编译及调试 C 代码的简易指南

对于Linux下的C程序员来 说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无法与有着友好用户界面的 Windows相比.确实是这样的,即使大家的程序是运行在Linux下,基于以下种种原因,我们的大部分工作还是在Windows下完成的: 第一,除了编译调试代码之外,每个程序员还有很多工作要做,像文档编写.邮件发送及回复.PPT制作等,这些工作在Windows下做要更方便快捷一些. 第二,公司及项目组的资源有限,一般不会为每个开发人员配

Linux下配置文件读取操作流程及其C代码实现

一.概述 Linux具有免费.可靠.安全.稳定.多平台等特点,因此深受广大程序员的欢迎. 为了体现软件产品的灵活性,可添加配置文件存放某些重要的参数,在部署的时候根据实际的安装环境对每个配置项的值进行设置.这就要求程序能够准确读取到各个配置项的值. 本文详细介绍了Linux下配置文件的读取方法及读取操作的C代码实现,为相关的软件开发工作的开展提供了有益的参考. 二.配置文件介绍 为了便于程序处理,对配置文件的命名及内容格式有一些约定,具体如下: 第一,配置文件的后缀为ini,如本文中使用到的配置

python 是在linux下运行好 还是unix下运行好?

问题描述 python 是在linux下运行好 还是unix下运行好? 用Python做web 在那种系统下根号 有32位 64位限制吗? 解决方案 python本身无所谓,取决于你的程序,如果是服务器程序,或者是嵌入式程序,要求运行在linux环境下,就只能用linux,如果是客户端脚本,使用它的用户使用windows,那么就运行在windows下. 除非用到科学计算和很多内存(2GB+),否则32bit足够了.python是解释语言,所以只要有解释器,任何平台都没问题. 解决方案二: 当然是

一份简单的在 Linux下编译及调试 C 代码的指南

一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无法与有着友好用户界面的Windows相比.确实是这样的,即使大家的程序是运行在Linux下,基于以下种种原因,我们的大部分工作还是在Windows下完成的: 第一,除了编译调试代码之外,每个程序员还有很多工作要做,像文档编写.邮件发送及回复.PPT制作等,这些工作在Windows下做要更方便快捷一些. 第二

linux下安装运行LoadrGenerator负载生成器教程

在LoadGenerator的安装使用的过程,涉及到了shell变量与环境变量.用户使用的当前shell.创建用户等一系列的linux操作系统的问题,关注我后续的博客,会为大家继续讲解这些问题. 因jmeter运行时大量占用内存的原因,所以,采用loadrunner作为本次的测试工具.测试架构:controller部署在 windows操作系统下(windows下安装loadrunner的过程,可以去网上搜下,这里不做解释),loadgenerator部署在 linux下. 前提条件: 1.软件