Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试将数组项与用户输入进行比较_Java_Arrays - Fatal编程技术网

Java 尝试将数组项与用户输入进行比较

Java 尝试将数组项与用户输入进行比较,java,arrays,Java,Arrays,如果用户输入字母E/E,我尝试替换数组中的对象。例如,数组可以包含2个对象用户输入的数组中的第一个对象为3,用户现在输入的是5 e,新的数组对象[0]将成为新的用户输入5。以下是我目前的代码: import java.text.*; import java.io.*; public class Lab1a { public static void main (String argv []) throws IOException { BufferedReader stdin =

如果用户输入字母E/E,我尝试替换数组中的对象。例如,数组可以包含2个对象用户输入的数组中的第一个对象为3,用户现在输入的是5 e,新的数组对象[0]将成为新的用户输入5。以下是我目前的代码:

import java.text.*;
import java.io.*;

public class Lab1a {
    public static void main (String argv []) throws IOException {

    BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));

    NumberFormat nf = NumberFormat.getNumberInstance ();
    nf.setMaximumFractionDigits (2);
    nf.setMinimumFractionDigits (2);

    String inputValue;
    double [] doubleValues = new double [1];
    char char1, char2, char3;

    inputValue = stdin.readLine ();
    String [] Values2 = inputValue.split ("\\s+");
    for (int i = 0; i < Values2.length; ++i)
        doubleValues [i] = Double.parseDouble (Values2[i]);

    double old = doubleValues[0];

    double newNum = doubleValues[1];

    //Line 3: 3 characters separated by spaces 
    inputValue = stdin.readLine ();
    String [] Values3 = inputValue.split ("\\s+");
    for (int i = 0; i < Values3.length; ++i);
    char1 = Values3[0].charAt(0);
    char2 = Values3[1].charAt(0);
    char3 = Values3[2].charAt(0);

    if (inputValues == 'double' + "e") {
        System.out.println(old);
    }
}
import java.text.*;
导入java.io.*;
公共类Lab1a{
公共静态void main(字符串argv[])引发IOException{
BufferedReader stdin=新的BufferedReader(新的InputStreamReader(System.in));
NumberFormat nf=NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
字符串输入值;
double[]doubleValues=新的双精度[1];
char char1,char2,char3;
inputValue=stdin.readLine();
字符串[]Values2=inputValue.split(\\s+);
对于(int i=0;i
所以我很快就把这个问题提了出来,它回答了你的问题。 它将数组初始化为固定大小=10,并要求用户输入,直到输入“q”。 如果用户输入“数字e/e”,则最后输入的值将被替换

希望有帮助! 干杯

import java.util.Scanner;
public class Lab1a {

public static void main(String[] args) {
    final int SIZE =10;//SIZE of array, you can change that if you want to
    int availableIndex =0;//available element to change
    double [] values = new double [SIZE];


    Scanner kb = new Scanner (System.in);
    while(availableIndex < values.length){
        System.out.println("Please enter a value, if you wish to modify the last input value, then please enter your new value followed by an E/e");
        System.out.println("enter q to exit");
        String input = kb.nextLine().trim();     
        if (input.equalsIgnoreCase("q"))System.exit(0);
        String [] arr = input.split("\\s+");
        //for (String s : arr)System.out.println(s);
        //validate input 
        if (arr.length == 1){//no change requested
            values [availableIndex++] = Double.parseDouble(arr[0]);
        }
        else{
            if (arr[1].equalsIgnoreCase("e")){
                values[(availableIndex-1)] = Double.parseDouble(arr[0]);//availableIndex++;
            }
            else{//user inputed a char other than e/E
                values[availableIndex++]= Double.parseDouble(arr[0]);
            }
        }

        //print contents
        for (int i=0; i < availableIndex; i++){
            System.out.print(values[i]+"; ");
        }
        System.out.println();
    }
}



}
import java.util.Scanner;
公共类Lab1a{
公共静态void main(字符串[]args){
final int SIZE=10;//数组的大小,如果需要可以更改
int availableIndex=0;//要更改的可用元素
double[]值=新的double[SIZE];
扫描仪kb=新扫描仪(System.in);
while(可用索引
请包括一个特定的问题。你的最后一个for循环只是循环,什么也不做。在循环之后,去掉
。你的问题不是很清楚。用示例输入解释output@MixMedia:double newNum=doubleValues[1];将抛出边界外异常,因为您已将DoubleValue初始化为大小1,因此唯一可用的索引是[0]仅供参考:没有异常处理,代码假定用户将输入{value},或{value}空间{e/e},或{q}