初学者求指导!java用基本的循环或者数组解决1-100循环取出第七个数并输出 取满50为止

问题描述

题目大概是1-100取第七个数 7 14 21....98,然后从99开始继续取第七个:5 ,12 19...我能想到的方法是定义一个长度为7的数组,然后把这100个数依次放进去取下标为6的数,累计到50跳出.但是纠结了很久不会用程序实现,求人指点!Ps:新手刚学到java基础的数组. 问题补充:之前提的问题是我的错误 第二次从99开始循环取第七个数是 5 13 22 (忘记抛出之前已经取到的7 14 21....)麻烦刚才的2位好心人了

解决方案

int[] array=new int[102];//需遍历的数组,初始为0,int j=1;//遍历时计数用int k=7;//取第几个数,这里为7int count=0;//统计输出个数for (int i = 1; i < array.length; i++) {if(i==array.length-1){//超过100,置1,类似循环数组i=1;}if(array[i]==0){//未遍历到的值,计数加1if(j==k){//第k个数array[i]=1;//置为非0值,这里为1j=1;//计数归1count++;System.out.println(i);}elsej++;}if(count==50)break;}
解决方案二:
//需要写个类,设置常量list = 需要遍历的数组,size 是需要提取的总数。private List<Integer> get7OfList(List<Integer> list, int size) {List<Integer> copyList = new ArrayList<Integer>();copyList.addAll(list);int j = 0;for (int i = 1; i < list.size(); i++) {if (i % 7 == 0 && result.size() < size) {result.add(list.get(i - 1));copyList.remove(i - 1 - j);++j;} else if (result.size() > size) {break;} else {continue;}}list.removeAll(list);list.addAll(copyList.subList(copyList.size() - 2, copyList.size()));list.addAll(copyList.subList(0, copyList.size() - 3));if (result.size() < 50) {get7OfList(list, size);}return result;}
解决方案三:
提供一个比较麻烦的: public static void main(String[] args) {List l = new ArrayList();int k = 0, n = 0;while (k < 50) { if (n < 7) {n++;continue; } if (n == 7 && k == 0) {l.add(n);k++; } else {n += 7;l.add(n);k++; }} }
解决方案四:
遍历初始化为0的数组,遇0加1,加到7时输出数组下标并将数组此项置为非0值。int[] array=new int[102];//需遍历的数组,初始为0,int j=1;//遍历时计数用int k=7;//取第几个数,这里为7int count=0;//统计输出个数for (int i = 1; i < array.length; i++) {if(j==k){//第k个数array[i]=1;//置为非0值,这里为1j=1;//计数归1count++;System.out.println(i);}if(array[i]==0){//未遍历到的值,计数加1j++;}if(i==array.length-1){//超过100,置1,类似循环数组i=1;}if(count==50)break;}
解决方案五:
//直接加7模100即可int count=0;for(int i=0;i<50;i++){count=(count+7)%100;System.out.println(count);}
解决方案六:
int j=0;//循环50次for(int i=0;i<50;i++){//小于100就叠加7if((j+7)<=100){j+=7;}else{//大于100,就减掉100,剩下的作为起始值进入下一次循环int num=j+7-100;j=num;}System.out.println(j);}

时间: 2024-09-15 14:59:29

初学者求指导!java用基本的循环或者数组解决1-100循环取出第七个数并输出 取满50为止的相关文章

j2ee-新人跪求指导Java自学路线

问题描述 新人跪求指导Java自学路线 我现在自学完了Javase,oracle 想问一下个为大神是否可以跳过javaweb的学习直接学习j2ee?

class-java计算器的除数不能为零实现 出现了一点小问题 求指导

问题描述 java计算器的除数不能为零实现 出现了一点小问题 求指导 private void calute (Float f){ float a1=Float.parseFloat(result);//第一个操作数 float a3=a1;//最终结果 if(flag1){ if(lastcommand.equals(""+"")) a3=a1+f; else if(lastcommand.equals(""-"")) a3

junit-dbunit-2.4.8+poi-3.2-final测试报错,各位大神有知道的没,求指导

问题描述 dbunit-2.4.8+poi-3.2-final测试报错,各位大神有知道的没,求指导 java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFRow.getCell(I)Lorg/apache/poi/hssf/usermodel/HSSFCell; at org.dbunit.dataset.excel.XlsTable.createMetaData(XlsTable.java:91) at org.dbuni

关于java问题-Java循环结构初学者求大神带

问题描述 Java循环结构初学者求大神带 从键盘接收一批整数,比较其中最大值和最小值,输入数字0时循环结束. 解决方案 import java.util.Scanner;public class Test0305 { public static void main(String[] args) { Scanner s=new Scanner(System.in); int min=Integer.MAX_VALUE; int max=Integer.MIN_VALUE; int value=s.

Java I/O 读取计算的问题,初学者不是很明白,求指导!

问题描述 问题是这样的1.1.我们现在需要增加一条来让我们能从输入文件读取和计算平均值.a)创建一个FileReader对象b)创建一个BufferedReader对象2.写primingread来读取文件的第一行.3.写一个循环读取直到最后一行4.循环主题包括:a)转换至double的值并且添加值到accumulator中b)正向计数c)从文件中读取新的行5.当程序退出事关闭input文件6.计算平均值,平均值由accumlator除计数得来.7.运行,输出平均值为77.444这是其中的一步,

hibernate-单线程循环假死,纠结了一星期了,求指导

问题描述 单线程循环假死,纠结了一星期了,求指导 现在我正在维护一个派单系统,派单的业务逻辑是新起了一个线程,这个派单线程并没有 用到线程池之类的技术,就是一个很简单的new Thread().start(),然后有一个监听线程观察 该线程是否存活,如果不存活就重新再创建一个派单线程,但是现在有一个奇怪的问题,就是 运行大概一天左右,派单线程就会出现假死状态,但是通过ThreadDump发现该线程的状态 是Running,而每次派单线程都卡在一个Hibernate的get查询上,并且Thread

急求:用java能不能实现由字符数组复制给字符串?由于是初学者,在线等待

问题描述 急求:用java能不能实现由字符数组复制给字符串?由于是初学者,在线等待 解决方案 解决方案二:直接用字符数组构造一个字符串就可以:chardata[]={'a','b','c'};Stringstr=newString(data);解决方案三:观点同楼上~~解决方案四:用clone克隆也行解决方案五:这问题比较经典解决方案六:用循环赋值也行啊.解决方案七:方法很多.....直接newString(Char[]value);还可以用StringBuffer的append(charc)函

基础-JAVA课程设计实数计算器求指导思路

问题描述 JAVA课程设计实数计算器求指导思路 [问题描述]运用面向对象程序设计知识,利用Java语言设计和实现一个复数计算器.要求具备如下主要功能: (1)建立实数类.复数类 (2)实现实数.复数信息的初始化 (3)实现实数的加.减.乘.除.自增.自减.求平方.二次方根等操作 (4)实现复数的加.减.乘.除.取模.求平方.求共轭复数.求单个复数的向量角.求两个复数的夹角等运算 (5)实现实数.复数信息的输出 在实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出Java语言关于类.继承

java ee-软件工程课程设计!!!求指导

问题描述 软件工程课程设计!!!求指导 使用java,jsp ,数据库,ajax,等等技术,开发一款电子商务平台,能够进行正常的运转,不要求最先进的技术,但要完成最基本的需求.. 解决方案 http://www.jb51.net/books/292002.html 解决方案二: 这种系统一般用mvc三层结构比较好做