Ребят, всем привет. Помогите, пожалуйста, понять, почему код убирает "=", когда делаю сплит во второй раз? По идее, в какой-то из частей он должен же оставаться... А мне он очень нужен) Мне нужно с его помощью только аргументы оставить)
UPD За переменные извините) Никаких идей, как их по-человечески обозначать, чтобы код удобочитаемый был((
И код вообще устаревший(( Вот так последний раз пробовала:
public class Solution {
public static void main(String[] args) throws IOException {
//add your code here
// BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
//String str = bf.readLine();
String str = "http://javarush.ru/alpha/index.html?lvl=15&view&name=Amigo";
String[] sub1;
String res;
String result = null;
sub1 = str.split("\\?");
for (int i = 0; i < sub1.length; i++) {
res = sub1[i];
if (res.contains("&")) {
result = res;
}
}
ArrayList<String> array = new ArrayList<>();
String[] sub2;
sub2 = result.split("\\&");
for (int i = 0; i < sub2.length; i++) {
array.add (sub2[i]);
}
ArrayList<String> array1 = new ArrayList<>();
for(String s1: array){
String[] subStrFinal2;
subStrFinal2 = s1.split("\\=");
String resultThree;
for (int i = 0; i < subStrFinal2.length; i++) {
resultThree = subStrFinal2[i];
if (!resultThree.startsWith("=")) {
array1.add(resultThree);
}
}
}
double d = 0;
for (String s : array1) {
System.out.print(s + " ");
// if (d == Double.parseDouble(s)) {
// alert(d);
// } if (s instanceof Object) {
// alert(s);
// }
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Парсер реквестов
*/
public class Solution {
public static void main(String[] args) throws IOException {
//add your code here
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String str = bf.readLine();
String[] sub1;
String res;
String result = null;
sub1 = str.split("\\?");
for(int i = 0; i < sub1.length; i++) {
res = sub1[i];
if(res.contains("&")){
result = res;
}
}
String [] sub2;
String resultFinal = null;
sub2 = result.split("\\&");
for(int i = 0; i < sub2.length; i++) {
resultFinal = sub2[i];
}
String[] subStrFinal2;
subStrFinal2 = resultFinal.split("\\=");
String resultThree;
String result4 = null;
for(int i = 0; i < subStrFinal2.length; i++) {
resultThree = subStrFinal2[i];
if(!resultThree.contains("&")){
result4 = resultThree;
}
}
System.out.println(result4);
if(result4 instanceof Object){
alert(result4);
}
}
public static void alert(double value) {
System.out.println("double: " + value);
}
public static void alert(String value) {
System.out.println("String: " + value);
}
}