Java 尝试将数组项与用户输入进行比较
如果用户输入字母E/E,我尝试替换数组中的对象。例如,数组可以包含2个对象用户输入的数组中的第一个对象为3,用户现在输入的是5 e,新的数组对象[0]将成为新的用户输入5。以下是我目前的代码: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 =
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}