题目要求:

1.在第一个问题过程中,我在以前的代码中好像已经写出了这个功能,想要实现这个功能,我们只需要在我们储存的数组和是负数的时候对中转值进行重新赋值就可以得到新的数值的起始位置,而他的终了位置就是程序运行到那个地方时候的数值,其余的输出也是十分简单的

2.题目要求每运行一次就需要稍作停留,由于当时没有仔细的看题目,所以导致理解错误,理解成了直接暂停,当触发按键的时候则继续开始,然后问老师这个功能其实也是可以实现的,这个问题我以后再考虑一下,过段时间再来思考这个问题,因为最近时间有点挤。那么按照题目的要求,我们可以很清楚的发现问题解决的方法就在于线程的挂起, Thread.sleep(1000);即将这个线程暂停一秒,此函数就可以解决这个问题。

 package LessonTest20190314;

 import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigInteger;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class Main {
private final int STOP = -1;
private final int SUSPEND = 0;
private final int RUNNING = 1;
private int status = 1;
private long count = 0;
@SuppressWarnings("deprecation")
public static void main(String[] args) throws IOException, InterruptedException {
// TODO Auto-generated method stub
Scanner sc =new Scanner(System.in);
Thread thread = new Thread();
BigInteger TempNum=new BigInteger("0");
BigInteger Big0=new BigInteger("0");
BigInteger Max=new BigInteger("0");
@SuppressWarnings("unused")
String subway_1=subway_1("C:/D/shuzu.txt");
//System.out.println(subway_1);
long num=0;
long num1=0;
for(int i=0;i<number.length;i++) {
boolean flag=Isnumber(number[i]);
if(flag==true) {
System.out.println("输入为数值!");
BigInteger BigNum=new BigInteger(number[i]);
TempNum=TempNum.add(BigNum);
int is=TempNum.compareTo(Big0);
if(is==-1) {
TempNum=new BigInteger("0"); }else {
num++;
if(num>(0.5*number.length)) {
System.out.println("数组只能到这了!");
break;
}
int is2=TempNum.compareTo(Max);
if(is2!=-1) {
Max=TempNum;
num1=i+1;
}
}
System.out.println("读取的"+(i+1)+"个数值:"+BigNum);
System.out.println("当前判断子数组开始的数是:"+num1);
System.out.println("当前判断子数组的数是:"+(i+1));
System.out.println("最大值:"+Max); Thread.sleep(1000);
}
else
System.out.println("输入不为数值!");
}
}
private static String[]number; private static String subway_1(String file) throws IOException {
// TODO Auto-generated method stub File f=new File(file);
@SuppressWarnings("resource")
BufferedReader bf=new BufferedReader(new FileReader(f));
/*
String content="";
content=bf.readLine();
int line=Integer.parseInt(content);
content=bf.readLine();
@SuppressWarnings("unused")
int list=Integer.parseInt(content);
content="";
for(int aline=0;aline<line;aline++) {
content=content+bf.readLine();
}
String[] temp = content.split(",");
number=temp;
*/
String content="";
content=bf.readLine();
content=content+content;
String[] temp = content.split(",");
number=temp; return null;
}
private static boolean Isnumber(String num) { Pattern pattern = Pattern.compile("-?[0-9]+(.[0-9]+)?");
Matcher isNum = pattern.matcher(num);
if( !isNum.matches() ){
return false;
}
return true;
} }

java课程课后作业190425之一维数组最大子数组(界面实现)的更多相关文章

  1. Java课程课后作业190315之最大连续子数组(二维数组版)

    ,, 在本周的课堂上,老师再一次提高了要求,将一维数组升级成为了二维数组,然后求出块状的连续子数组. 一开始还想着借鉴之前球一维数组的O(n)的算法,后来还是没有找到头绪,舍友讲了自己的办法,但是没有 ...

  2. Java课程课后作业190315之从文档中读取随机数并得到最大连续子数组

    从我上一篇随笔中,我们可以得到最大连续子数组. 按照要求,我们需要从TXT文档中读取随机数,那在此之前,我们需要在程序中写入随机数 import java.io.File; import java.i ...

  3. Java课程课后作业190309之连续最大子数组

    老师在课堂是提出了这个问题,并且提出了时间复杂度是O(n)的要求,一开始我自己思想简单,在逻辑上出现了十分粗心的错误,后来同学们也在课堂上比较激烈地讨论了一番,也只是将时间复杂度降到了O(n*n),在 ...

  4. JAVA课程课后作业03之作业一

    作业:使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 代码: package TestJava; import java ...

  5. JAVA课程课后作业之使用递归完成回文

    一.思路 1.我的想法是利用数组的做法来进行,先是用scanner录入一个String类 2.然后就是将String转化成char数组 3.递归的就是第一个和最后一个对比,然后第一个加一,最后一个减一 ...

  6. java课程课后作业190616之个人学期总结

    在团队开始的那一周,我们做了作品的功能畅想,在讲台上谈论了自己的产品可能会有的功能,比如说课程查找功能,空教室查找功能,霸屏功能,课程留言功能等,当然,随着开发的推进,我也发现了有些功能上实现的困难, ...

  7. java课程课后作业05之动手动脑

    一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件 此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一 ...

  8. java课程课后作业04之动手动脑

    一.多层的异常捕获-1 先贴出代码: public class CatchWho { public static void main(String[] args) { try { try { thro ...

  9. JAVA课程课后作业03之动手动脑

    一.构造函数 问题一: 错误代码如图: 错误原因:从图片中的编译报错的地方来看,程序是在给新的对象分配空间是出现了问题,因而我们往下观察Foo类,Foo类的构造方法是有一个参数的有参方法,而前面构造新 ...

随机推荐

  1. Java位运算原理及使用讲解

    前言日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量减少运行开销,优化算法.举个例子,翻转操作比较常见,比如初始值为1,操作一次变为0,再操作一次变为1.可能的做法是使用三木运算符,判断原始值 ...

  2. Node Graph ......

    以前写过好多次,但是都没写完....主要是节点树的执行过程.这次打算好好写完. 这次目的是写一个 类似houdini sop下的 管理过程 目的是把大量流程中的杂乱比如后台处理,Arnold-> ...

  3. Windows【端口被占用,杀死想啥的端口】

    windows 两步方法 netstat -ano | findstr "8080" taskkill /pid 4136-t -f linux 两步方法 ps -ef | gre ...

  4. BaiduMap路程计算

    #BaiduMap路程计算def getDistance(deslat,deslng,originlat,originlng): url='http://api.map.baidu.com/direc ...

  5. margin:auto你真的理解么?

    含义 margin:auto是具有强烈计算意味的关键字,用来计算元素对应方向应该获得的剩余空间大小 填充规则 (1) 如果一侧定值,一侧auto,则auto为剩余空间大小 (2) 如果两侧均是auto ...

  6. Python爬去有道翻译

    注:传入的类型为POST类型,所以需要使用urllib.parse.urlencode(),将字典转换成URL可用参数: 使用json.loads(),将输出的json格式,转换为字典类型 impor ...

  7. zabbix3.0 agent安装配置

    zabbix3.0 agent安装配置wget http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.0-2.el6.x86 ...

  8. .Net Framework 下运行项目提示.dll类库程序集未能加载

     咨询个问题..项目可以生成成功,运行时总提示未能加载程序集,而且这个程序集就是当前webApi项目的dll,这是怎么回事.. 还一个奇怪的现象,刚开始报缺失xxx.dll, 那个dll是本解决方案里 ...

  9. TFS2015创建项目

    1,在TFS服务器上的团队项目集合中创建集合   2,创建集合完毕后,在VS2017中选择管理连接,创建对应的管理连接.     3,团队资源管理器中新建团队项目.后续就是下一步,下一步完成.帐号权限 ...

  10. 为什么浏览器User Agent中都有个mozilla

    你是否好奇标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样? Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ...