Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
Ребята я написал код, который слова выводит наоборот через JSON и cURL
@PostMapping("/reverse")
public String reverseList(@RequestBody String string) {
    List<String> stringList = Arrays.asList(string.split("[+,]"));
    return  IntStream.range(0, stringList.size())
            .mapToObj(i -> stringList.get(stringList.size() - 1 - i))
            .collect(Collectors.joining("+"));
}


cURL
C:\Users\Adil>curl -H "Content-Type: application/json" -d "a1+a2+a3+a4" localhost:8080/hello/reverse


Output - a4+a3+a2+a1

Как можно сделать так, чтобы он просто посчитал их сумму
C:\Users\Adil>curl -H "Content-Type: application/json" -d "a1+a2+a3+a4" localhost:8080/hello/reverse

Допустим вывод чтобы был - 4
25 окт 19, 13:16    [22002505]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
skyboyy,

Точнее количество
25 окт 19, 13:21    [22002520]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
skyboyy,
Дай к коду выше запрос и результат. Пример неполный.
25 окт 19, 13:22    [22002522]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
chpasha
Member

Откуда:
Сообщений: 8596
skyboyy
Точнее количество

Вбить в Гугле "java stream count"?
25 окт 19, 13:24    [22002528]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
PetroNotC Sharp,
Я вот раньше писал, чтобы каждой у переменной было значение

@Test
    void testCount() {
        assertEquals("30", String.valueOf(
                Arrays.stream("10+10+10".split("[+]"))
                        .count()));
    }



Теперь же не получается написать код, чтобы он просто посчитал количество

допустим если введу

curl -H "Content-Type: application/json" -d "a1+a2+a3+a4+a5" localhost:8080/hello/reverse


Он показал мне 5, так как такое количество
25 окт 19, 13:24    [22002529]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
skyboyy,
Я не смотрю твой код с плюсами, пока нет полного кода с перестановкой.
25 окт 19, 13:27    [22002531]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
PetroNotC Sharp,

@RestController
@RequestMapping("/hello")
public class HelloController {

    private final NamesDAO namesDAO;

    public HelloController(NamesDAO namesDAO) {
        this.namesDAO = namesDAO;
    }

    // curl -H "Content-Type: application/json" localhost:8080/hello/getNames
    @GetMapping("/getNames")
    public List<String> getNames() {
        return namesDAO.getNames();
    }
    
    //curl -H "Content-Type: application/json" -d "[\"Adil\",\"John\"]" localhost:8080/hello/addNames
    @PostMapping("/addNames")
    public List<String> addNames(@RequestBody List<String> names) {
        namesDAO.addNames(names);

        return names;
        
    }

    //curl -H "Content-Type: application/json" -d "a1+a2+a3+a4" localhost:8080/hello/reverse
    
    
    
  @PostMapping("/reverse")
public String reverseList(@RequestBody String string) {
    List<String> stringList = Arrays.asList(string.split("[+,]"));
    return  IntStream.range(0, stringList.size())
            .mapToObj(i -> stringList.get(stringList.size() - 1 - i))
            .collect(Collectors.joining("+"));
}
25 окт 19, 13:28    [22002535]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
skyboyy,
РЕЗУЛЬТАТЫ ГДЕ?
25 окт 19, 13:33    [22002545]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
PetroNotC Sharp,

Я же добавил результат таска в описании, теперь не получается это задание сделать
25 окт 19, 13:35    [22002547]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
skyboyy,

Там результат прошлого таска, мне просто сейчас надо посчитать количество
25 окт 19, 13:38    [22002553]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
skyboyy
PetroNotC Sharp,

Я же добавил результат таска в описании, теперь не получается это задание сделать
перебери через for stringList.
25 окт 19, 13:46    [22002568]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
PetroNotC Sharp,
вот так получилось
@PostMapping
    public Integer sum(@RequestBody String string) {
        return Arrays.stream(string.split("[+]"))
                .mapToInt(Integer::valueOf)
                .count();
    }
// curl -H "Content-Type: application/json" -d "1+2+3+4" localhost:8080/hello/count
    @PostMapping("/count")
    public long sum(@RequestBody String string) {
        return Arrays.stream(string.split("[+]")).count();
    }
25 окт 19, 14:02    [22002607]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
skyboyy,
Молодец. Так держать!
Вот что лень животворящая делает))
25 окт 19, 14:08    [22002618]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
PetroNotC Sharp,

Просто на работе дали изучить JSON, вот изучаю
25 окт 19, 14:11    [22002621]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2481
skyboyy
PetroNotC Sharp,

Просто на работе дали изучить JSON, вот изучаю
дык с плюсами это не json.
25 окт 19, 14:17    [22002639]     Ответить | Цитировать Сообщить модератору
 Re: Посчитать сумму  [new]
skyboyy
Member

Откуда:
Сообщений: 70
PetroNotC Sharp,

Не знаю мне просто чтобы я изучил JSON, дают такие задания вот выполняю
25 окт 19, 14:19    [22002642]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить