String sBufferParametr = new String(cBufferParametr);
System.out.println(sBufferParametr);
if (sBufferParametr.equals("obj "))
Sout выводит "obj", при этом проверка его не видит, не пойму в чём дело.
P.S. Посмотрел как решали другие и понял, что можно было сделать куда проще, но хочу сначала понять что тут не так, а потом переписать более оптимальным способом.package com.javarush.task.task15.task1527;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.ArrayList;
/*
Парсер реквестов
*/
public class Solution
{
public static void main(String[] args)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> listOfParametrs = new ArrayList<>();
String sURL = "";
try {sURL = reader.readLine();}
catch (Exception e) {System.out.println("Ошибка при чтении URL!");}
char cURL[] = sURL.toCharArray();
char cBufferParametr[] = new char[20];
char cBufferValueOfObj[] = new char[20];
boolean startOfParametrs = false;
for (int i=0; i<cURL.length; i++)
{
int numOfBuffer = 0;
if (cURL[i] == '?')
startOfParametrs = true;
if (startOfParametrs == true && cURL[i] == '?' || cURL[i] == '&') // Перехват первого параметра
{
for (i++; cURL[i] != '&' && i != cURL.length-1 && cURL[i] != '='; i++)
{
cBufferParametr[numOfBuffer] = cURL[i];
numOfBuffer++;
}
i--;
numOfBuffer = 0;
String sBufferParametr = new String(cBufferParametr);
System.out.println(sBufferParametr);
if (sBufferParametr.equals("obj "))
{
System.out.println("Объект obj найден!");
Object value;
int i2=i;
for (; cURL[i2] != '='; i2--){}
for (i2++; cURL[i2] != '&' && i != cURL.length-1; i2++)
{
cBufferValueOfObj[numOfBuffer] = cURL[i2];
numOfBuffer++;
}
numOfBuffer = 0;
String sBufferValueOfObj = new String(cBufferValueOfObj);
try {alert(Double.parseDouble(sBufferValueOfObj));}
catch (Exception e) {alert(sBufferValueOfObj);}
}
listOfParametrs.add(new String(sBufferParametr));
for (int i1=0; i1<cBufferParametr.length; i1++) //Очистка буфера
cBufferParametr[i1] = ' ';
}
}
//for (String s : listOfParametrs)
//System.out.println(s);
}
public static void alert(double value)
{
System.out.println("double: " + value);
}
public static void alert(String value)
{
System.out.println("String: " + value);
}
}