| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:高手解一下难题!
只看楼主 加入收藏
zhang198807
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-3-2
结帖率:0
收藏
 问题点数:0 回复次数:4 
高手解一下难题!
直接有软件就更好感谢了,输入十个数,输出五个数,这五个数是第一个与第十个之和,第二个与第九个之和,第三个与第八个之和,第四个与第七个之和,第五个与第六个之和。后来每输入一个数,再输出五个数,代表最后一个数,原先的第一个数就不要了,第二个数变成了第一个数,…………第三个变成第二个,原先的最后一个成了第九个,输出的五个数,依然是这五个数是第一个与第十个之和,第二个与第九个之和,第三个与第八个之和,第四个与第七个之和,第五个与第六个之和
搜索更多相关主题的帖子: 难题 
2010-03-02 22:38
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
程序代码:
package test;
import java.util.Scanner;
class InputOutValue{
    Scanner in=new Scanner(System.in);
    int nums[]=new int[10];
    int temp;
    public void InputAll()
    {   
        System.out.print("请输入10个数字: ");
        for(int i=0;i<nums.length;i++){           
            nums[i]=in.nextInt();
        }
        System.out.println("所有的数字: ");
        for(int i=0;i<nums.length;i++){
            System.out.print(nums[i]+"  ");
        }       
    }
    public void InputOne()
    {   
        System.out.print("请输入1个数字: ");   
        temp=in.nextInt();
        for(int i=0;i<nums.length;i++)
        {
            if((i+1)<nums.length){
            nums[i]=nums[i+1];
            }else{
                break;
            }
        }
        nums[9]=temp;
    }
    public void Out(){       
        System.out.println("\n第一个和第十个之和是: "+(nums[0]+nums[9]));
        System.out.println("\n第二个和第九个之和是: "+(nums[1]+nums[8]));
        System.out.println("\n第三个和第八个之和是: "+(nums[2]+nums[7]));
        System.out.println("\n第四个和第七个之和是: "+(nums[3]+nums[6]));
        System.out.println("\n第五个和第六个之和是: "+(nums[4]+nums[5]));
    }
}
public class Sum {
    public static void main(String[] args) {
        InputOutValue inputOutValue=new InputOutValue();
        inputOutValue.InputAll();
        inputOutValue.Out();
        inputOutValue.InputOne();
        inputOutValue.Out();
        inputOutValue.InputOne();
        inputOutValue.Out();
    }
}

C#超级群 74862681,欢迎大家的到来!
2010-03-03 12:25
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
有问题请跟帖。

C#超级群 74862681,欢迎大家的到来!
2010-03-03 12:26
wangking1029
Rank: 2
等 级:论坛游民
威 望:1
帖 子:10
专家分:41
注 册:2009-8-24
收藏
得分:0 
楼主说的题好像正好是队列
可以用下面的代码,正好最近在学collection
程序代码:
import java.util.Scanner;
import java.util.Queue;
import java.util.LinkedList;
import java.util.Collection;
import java.util.ListIterator;

public class JavaTest {
   
    public LinkedList getQueue()
    {
        System.out.println("请输入初始数据");
        int i=0;
        LinkedList<Double> q=new LinkedList<Double>();
        Scanner s=new Scanner(System.in);
        while(i<10)
        {
           
            q.offer(s.nextDouble());
            i++;
        }
        return q;
    }
   
    public LinkedList changeQueue(LinkedList q,double d)
    {
       
        LinkedList<Double> queue=new LinkedList<Double>();
        queue=q;
        queue.poll();
        queue.offer(d);
        return queue;

       
    }
   
    public double[] getResurlt(LinkedList<Double> q)
    {
        int i=0,j=9;
        LinkedList<Double> queue=new LinkedList<Double>();
        queue=q;
        double[] d=new double[5];
        while(i<5)
        {
            d[i]=queue.get(i)+queue.get(j);
            i++;
            j--;
        }
       
        return d;
    }
   
    public void printQueue(LinkedList<Double> q)
    {
        double[] d=new double[5];
        JavaTest test=new JavaTest();
        System.out.println("现队列是:"+q);
        d=test.getResurlt(q);
        System.out.println("计算结果是:");
        for(double i:d)
        {
            System.out.print(i+",");
        }
        System.out.println();
        System.out.println("*********************");
       
    }
   
    public static void main(String[] args )
    {
       
        JavaTest test=new JavaTest();
        LinkedList<Double> q=new LinkedList<Double>();
        q=test.getQueue();
        test.printQueue(q);
        System.out.println("*********************");
       
        System.out.println("是否继续运算,如果继续运算请输入0");
        Scanner s1=new Scanner(System.in);
        int sr=s1.nextInt();
        while(sr ==0)
        {
        Scanner s=new Scanner(System.in);
        System.out.println("请输入下一个数");
        double num=s.nextDouble();
        q=test.changeQueue(q, num);
        test.printQueue(q);
       
        System.out.println("是否继续运算,如果继续运算请输入0");
        sr=s1.nextInt();
        }
       
       
           
    }

}

还有我想用符号判断是否结束运算,如输入#表示结束运算
为什么不能用scanner.next()!="#"判断?
2010-03-03 22:48
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
程序代码:
 String temp=s1.next();
        if("#".equals(temp))
        {
            break;
        }
测试过可以.

C#超级群 74862681,欢迎大家的到来!
2010-03-05 00:14
快速回复:高手解一下难题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015901 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved