Я застрял в проблеме для своего класса программирования. Нам нужно отделить аргумент String от запятых, чтобы создать массив строк, тогда ему нужно проанализировать каждую отдельную строку, чтобы получить двойную, сохраняя эти двойные ряды последовательно. Нам также дается некоторый тестовый код с входными аргументами типа ("1,5").
Вот мой текущий код
public class Sequence
{
private double[] sequence;
public Sequence(String s)
{
String[] res = s.split(",");
int length = res.length;
double[] result = new double[length];
for ( int i =0; i<length; i++) {
result[i] = Double.parseDouble(res[i])
}
}
Я не уверен, куда идти отсюда, потому что, когда я проверяю свой код, он доцент дает ожидаемый результат. Что это означает, что хранилище последовательно?
Я обновил свой ответ, это может быть то, что вы ищете:
import java.util.Arrays;
public class Four {
public static void main(String[] args) {
String string = "1,2,10,4,9";
System.out.println(string);
double[] ds = getDouble(string);
for (int i = 0; i < ds.length; i++) {
System.out.println(ds[i]);
}
}
private static double[] getDouble(String string) {
double[] _double;
String[] _Strings = string.split(",");
_double = new double[_Strings.length];
for (int i = 0; i < _Strings.length; i++) {
_double[i] = Double.parseDouble(_Strings[i]);
}
Arrays.sort(_double);
return _double;
}
}
вне положить
Я бы сделал это так:
public class Sequence {
private double[] sequence;
public void createSequence(int sequenceLength) {
sequence = new double[sequenceLength];
}
public void addToSequence(int index, double value) {
sequence[index] = value;
}
public double parseDouble(String s) {
return Double.parseDouble(s);
}
public String[] splitString(String s) {
return s.split(",");
}
@Override
public String toString() {
return Arrays.toString(sequence);
}
public static void main(String[] args) {
String str = "10.10,20.20,30.30";
Sequence sequence = new Sequence();
String[] splitted = sequence.splitString(str);
sequence.createSequence(splitted.length);
for (int i = 0; i < splitted.length; i++) {
double doubleValue = sequence.parseDouble(splitted[i]);
sequence.addToSequence(i, doubleValue);
}
System.out.println(sequence);
}
}
изменить private double[] sequence;
к private Double[] sequence;
и используйте ниже код
public class Sequence {
private Double[] sequence;
public Sequence(String s) {
String separated[] = s.replace(" ", "").split(",");
ArrayList<Double> list = new ArrayList<>();
for (String num : separated) {
list.add(Double.parseDouble(num));
}
this.sequence = list.toArray(new Double[separated.length]);
}
}