首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java - arrayLists和用户输入中的状态猜测

Java - arrayLists和用户输入中的状态猜测
EN

Stack Overflow用户
提问于 2017-02-08 11:38:17
回答 2查看 172关注 0票数 0

我不太确定发生了什么事。它已经走了很长一段路,但它仍然不起作用。本练习的目的是让用户从预先确定的状态列表中猜测“您最喜欢的状态”。用户只有三次猜测,然后程序就停止了。

代码语言:javascript
复制
import java.io.*;
import java.util.*;

    class stateHelper {
    public static void getUserInput() { 
        ArrayList<String> stateList = new ArrayList<String>();
        stateList.add("Georgia");
        stateList.add("Hawaii");
        stateList.add("Arizona");
        stateList.add("New York");
        stateList.add("Montana");

        Scanner scan = new Scanner(System.in);
        String userInput = scan.next();
        System.out.println("Guess my favorite state: ");

        //loop three times
        int num = stateList.size();
        for (int i = 0; i < num ; i++) {
            // if state is in line, print you guessed it
            String st = stateList.get(i);
            System.out.println(st);
            /*if (userInput.equals(stateList.get(i))) {
                System.out.println("It is a hit."); 
                }               
            }
            if (!userInput.equals(stateList.get(i))) {
                System.out.println("It is a miss.");    
                } */
        }
    /*
    System.out.println(stateList.get(0)+
    stateList.get(1)+stateList.get(2)+stateList.get(3)+
    stateList.get(4));
    */

        }
    }
EN

回答 2

Stack Overflow用户

发布于 2017-02-08 11:45:04

我可以很容易地为你解决这个问题,但我认为教你如何钓鱼会很好……就像他们说的那样。

把问题分解。

  1. 从用户那里获取数字。Google java用户输入,提示:将用户输入的内容返回屏幕,你可以将数字例如1 2 3作为输入,你可以将这些数字拆分成一个数组,例如Convert a string of numbers into an array
  2. Loop How can I get the user input in Java?
  3. Print System.in array,将所有数字相加,并使用计数或长度的数组来跟踪分隔符。例如(1+2+3+4+7+8)/6 = average

如果您发布一些代码来演示一次尝试,我很乐意提供进一步的帮助:)

票数 0
EN

Stack Overflow用户

发布于 2017-02-08 13:17:04

代码语言:javascript
复制
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Scanner;


public class Averager {
    public static void main(String[] args) {
        LinkedList<Integer> numbers = new LinkedList<Integer>();

        System.out.println("Enter a number to add to the list, or QUIT to stop:");
        Scanner scanner = new Scanner(System.in);
        String userInput = scanner.next();
        while (!userInput.equalsIgnoreCase("QUIT")) {
            try {
                numbers.add(Integer.parseInt(userInput));
            } catch (NumberFormatException e)    {
                // IGNORE
            }
            userInput = scanner.next();
        }
        scanner.close();

        System.out.println("The average of these numbers is: " + average(numbers));

    }

    private static double average(LinkedList<Integer> numbers) {

        Integer top = 0, bottom = 0;

        for (Iterator<Integer> iterator = numbers.iterator(); iterator.hasNext();) {
            top += (Integer) iterator.next(); // Sum the numbers
            bottom++;  // count how many there are
        }

        if (bottom > 0) {
            return top/bottom;  // calculate the average
        }

        return 0;
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42104250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档