java – Fazer um map de map e pegar os valores

Bom, tenho um map e dentro desse map tenho outro map e preciso fazer um for e pegar os valores que estão nesses maps, de qual forma da para ser feito o for ? Realizei algumas pesquisar mas não obtive muito sucesso, a estrutura e a forma que o map esta criado é assim.

Map<String, Map<String, String>> mapValues = new HashMap<>();

        mapValues.put("laranja", Map.of("lucas", "carro"));
        mapValues.put("maça", Map.of("marcos", "moto"));
        mapValues.put("morango", Map.of("eduardo", "carro"));

O valor laranja corresponde a lucas e carro, assim por diante

Tentativa

for(Map.Entry<String, Map<String, String>> entry : mapValues.entrySet()){
                        String key = entry.getKey();
                        Map<String, String> value = entry.getValue();
                        System.out.println(String.format("key: %s | value: %s", key, value));
                    }

Fiz uma tentativa dessa forma, mas pelo que vi no momento que estava debbugando é que só vou conseguir pegar o valor do primeiro map.

Forma que o dado vai ser exibido

O arquivo é um JSP portanto vou apresentar ele por exemplo

<div>
  <p><%ingrediente%></p>
  <p><%nome%></p>
  <p><%formaDeEntrega%></p>
</div>

python – Como posso associar valores digitados e que serão guardados em um vetor, a uma opção de um menu?

Como posso associar um range de valores de 1 a 6 a cada uma das opções do menu de sistemas operacionais que possuo na lista? A minha ideia é que quando eu digite tres vezes o numero 1 por exemplo,isso conte como três votos para a opção Windows Server,para no fim,eu poder imprimir ele como o mais votado da enquete. Pensei em tentar resolver com um dicionário,porém teria que digitar o nome do sistema operacional como chave toda vez que eu quisesse computar um voto

valor = 0
mais_votado = ()
maisvotado = 0
maiorpercent = 0

print('Qual o melhor sistema operacional para uso em servidores?''n''As respostas são:''n'
      '1 - Windows Server''n'
      '2 - Unix''n'
      '3 - Linux''n'
      '4 - Netware''n'
      '5 - Mac OS''n'
      '6 - Outro')

valor = int(input('Insira o número correspondente a alguma das opções:'))
while 0 < valor <= 6:
    valor = int(input('Insira o número correspondente a alguma das opções:'))
    votos.append(valor)
    if valor > 6:
        valor = int(input('Valor inválido,insira um valor válido:'))
total = len(votos)
for i in range(total):
    if votos.count(i) > 1:
        mais_votado.append(i)
for i in mais_votado:
    if i > maisvotado:
        maisvotado = i
for i in votos:
    percent = (i * 100)/sum(votos)
    if percent > maiorpercent:
        maiorpercent = percent```

Como criar um código em JavaScript que cria várias variáveis com nomes e valores aleatórios em looping? (Se isso for possível)

É possível criar um looping em Js que cria várias variáveis com nomes e valores aleatórios (ou algo parecido)?

javascript – ¿cómo extraer los valores de un array?

Bien, estoy usando algo tipo libreria js de cálculos que encontré, en este caso quiero hacer algo tipo una multiplicación donde me piden dos parámetros (factor, valores_n)

donde lo que haría seria algo así:

introducir la descripción de la imagen aquí

entonces así es como la estoy usando:

var multiplicacion = mult(factor , valores1 , ... valores_n)

factor = el multiplicador

valores_n = los números que quiero multiplicar

y los valores que quiero multiplicar están dentro de un array,

var contenedor = (-5204.60, -3909.27, 2554.95 , 3390.40 ,  2567.15 , 3986.73)

entonces este método no permite ingresar los valores_n en array los valores deben estar por así decirlo “libres”.

objetivo algo así:

var multiplicacion = mult(factor ,-5204.60, -3909.27, 2554.95 , 3390.40 ,  2567.15 , 3986.73)

javascript – Estou querendo gerar 4 valores aleatórios de uma array. Como posso fazer?

Estou querendo gerar 4 valores aleatórios de uma array. Já tentei usar o Math.random, mas fica em um loop infinito…

import React, { useState, useEffect } from "react";
import api from "../../services/api";

export default function Popular() {
  const (AllServices, setService) = useState(());

  useEffect(() => {
    api.get("/").then((response) => {
      setService(response.data);
    });
  }, ());
  
    return (
      <div className="cards">
        {AllServices.slice(0, 4).map(service => (
          <div className="card" key={service.id}>
            <img src={service.imageUrl} alt={service.title} />
            <p className="title">{service.title}</p>
            <div className="info">
              <i className="material-icons">grade</i>
              <span className="rating">{service.rating}</span> &middot; {" "}
              <span className="category">{service.category}</span>
            </div>
          </div>
        ))}
      </div>
    );
}

json – convertir un string en un jsonArray y obtener los valores en Delphi XE4

una aplicación cliente me envía el siguiente string:
{"tabla":"programacxp","opcion":"1","data":({"fechapago":"2020-07-17","semana":29,"concepto":"RECOLECCION DE BASURA ","proyecto":"7E313-C2732","importe":"100.00","proved":"DDF","status":true,"clasif":"GASTO DE ADMON","periodo":"0","dias":"5","aplicado":false})},
Mi pregunta es como puedo extraer los valores “tabla y opcion” y crear un array con el objeto data, para manipular esta información en Delphi XE,
el cliente me envía modDb(jsonquery){ let query = JSON.stringify(jsonquery); let consulta = this.locUrl+'updDb/('+query+')'; return this._http.get(consulta).pipe(map(res =>res)); haciendo debug en mi Aplicación Delphi, los datos llegan sin problema {"tabla":"programacxp","opcion":"1","data":({"fechapago":"2020-07-17","semana":29,"concepto":"RECOLECCION DE BASURA ","proyecto":"7E313-C2732","importe":"100.00","proved":"DDF","status":true,"clasif":"GASTO DE ADMON","periodo":"0","dias":"5","aplicado":false})} ahora mi problema es como manipularlos.
gracias de nuevo por su valiosa ayuda.

java – Retirar valores duplicados em uma lista e imprimi-los

Estou trabalhando com arquivos, no caso a questão é, tenho um arquivo chamado “arq1.txt” e o outro “arq2.txt”;
Valores dentro do arq1:

2
5
1
10
21
7
8
8
3

Valores do arq2:

1,2,3

Nesse caso, meu trabalho é fazer a comparação entre os valores presentes nos 2 arquivos e criar um novo arquivo(via código) fazendo com que o texto escrito nele seja o valor do arq1 – arq2.
No caso, iria retirar os valores 1, 2 e 3 do arq1, ficando da seguinte forma(no caso o código criaria um 3° arquivo e armazenaria esse valor nele):

arq3.txt

5
10
21
7
8
8

Até o momento consegui isso:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class App {
 
  public static void main(final String() args) throws IOException {
    final List<String> linhasA = Files.readAllLines(Paths.get("C:\q\arq1.txt"));
    final List<String> linhasB = Files.readAllLines(Paths.get("C:\q\arq2.txt"));
    
    linhasB.forEach(linhaB -> {
       linhasA.forEach(linhaA -> {
           final String ()valoresLinhaB = linhaB.split("\,");
           final String ()valoresLinhaA = linhaA.split("\,");
    
           final List<String> duplicados = new ArrayList<>(Arrays.asList(valoresLinhaB));
           duplicados.retainAll(Arrays.asList(valoresLinhaA));
    
           if(duplicados.size() > 0){
               
             System.out.println(duplicados);
              }

        


         });
        });
    }
}

Dessa forma o valor retornado é:

(2)
(1)
(3)

Que no caso o código basicamente fez a comparação entre os 2 arquivos e verificou os dados duplicados.

Agora tô com uma fucking imensa dificuldade em fazer com que seja printado na tela o valor do arq1 retirando os valores duplicados.

Já tentei fazer uns comparativos mas não funcionaram(sou novo em java), algo como:

for(int i=0; i<10; i++){
if(valoresLinhaA(i) != duplicados){
   System.out.println(valoreslinhaA(i));
 }
}

Porém o grande erro é que o “valoresLinhaA..” é uma string e não tem como fazer comparação dessa forma(ao menos a IDE me diz isso)

Sou novo em java, então não tô tendo a menor ideia de como proceder, mesmo tendo desenvolvido até ai

Alguma luz, alguma outra forma de comparar os valores e imprimir apenas o valor sem duplicação?

Sobre a criação do arquivo, acredito que consigo me virar após pegar o resultado sem os valores duplicados, é só questão de criar e escrever.. parece fácil o/

php – Google Charts ComboChart com valores nas barras

bom dia

estou criando um gráfico Google charts ComboChart, mas não consigo colocar os valores na barras, alguém consegue me ajudar?

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Tratativa</title>
    <link rel="stylesheet" type="text/css" href="../css/stilo.css">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <meta name="author" content="">
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width" scale="1">
    <!-- transforma a pagina em  responsivel-->
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
        google.charts.load('current', {'packages':('corechart')});
        google.charts.setOnLoadCallback(drawVisualization);

        function drawVisualization() {
        // Some raw data (not necessarily accurate)
        var data = google.visualization.arrayToDataTable((
            ('Hora', 'UPM','Erros', 'Meta' ),
            <?php
            include 'conexao.php';          
            $sql = "SELECT * FROM upm_hora";
            $buscar = mysqli_query($conexao,$sql);

            while ($dados = mysqli_fetch_array($buscar)) {
                $hora = $dados('horasG');
                $upm = $dados('upm');
                $erros = $dados('difErros');
                $tempo = $dados('horasD');
                $meta = 800;
                ?>
                ('<?php echo $hora ?> <?php echo $tempo ?>', <?php echo $upm ?>, <?php echo $erros ?>, <?php echo $meta ?>),    
            <?php } ?>
            ));

        var options = {
            title: 'Evolução da UPM',
            vAxis: {title: 'UPM'},
            hAxis: {title: 'Hora'},
            seriesType: 'bars',         
            series: {2: {type: 'line'}},  

        };
        
        var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
        chart.draw(data, options);
    }
</script>
</head>
<body>
    <header>        
        <div>           
            <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
            <div id="chart_div" style = " width : 100% ; height : 500px  ; " ></div>
        </div>
    </header>
</body>
</html>

javascript – Concatenar horizontalmente valores de Array multidimensional

Mi problema es que no soy capaz de concatenar los valores como lo deseo.

A continuación doy contexto:

Pasa que estoy haciendo una librería que me devuelve ciertos valores, en este caso es texto en tipografía figlet (solo es importante saber que básicamente contiene cadenas de texto) y la librería hasta ahora solo es capaz de devolver un conjunto de “letras únicas” en un array bidimensional en el siguiente formato:

(
  (
    "",
    "  _     ",
    " | |__  ",
    " | '_ \ ",
    " | | | |",
    " |_| |_|",
    "        "
  ),
  (
    "", 
    "       ",
    "   ___ ", 
    "  / _ \",
    " |  __/", 
    "  \___|",
    "       "
  ),
  (
    "", 
    "  _ ",
    " | |", 
    " | |",
    " | |", 
    " |_|",
    "    "
  ),
  (
    "", 
    "  _ ",
    " | |", 
    " | |",
    " | |", 
    " |_|",
    "    "
  ),
  (
    "",
    "        ",
    "   ___  ",
    "  / _ \ ",
    " | (_) |",
    "  \___/ ",
    "        "
  )
)

Todo esto es generado por mi librería, en incluso se puede generar en una sola cadena de texto o de manera individual por letra, pero me parece que el camino va por la via de los arrays así que así lo hice, pero ahi están otras formas por si alguien le interesa.

El punto del problema es que he intentado de todo, loops in loops, reduce, map y hasta filter y nada me funciona, tal vez la cabeza ya no me da jaja.

La meta es lograr concatenar cada item (linea horizontal) correspondiente a la de la matriz adyacente de manera que se pueda hacer concatenación de la tipografía, es decir algo como:

(
   ("  _     ","      ","    _ ","  _ ","        "),
   (" | |__  ","  ___ ","   | |"," | |","   ___  "),
   (" | '_ \", "/ _ \", " | |"," | |","  / _ \ "),
   (" | | | |","|  __/",  " | |"," | |"," | (_) |"),
   (" |_| |_|"," \___|", " |_|"," |_|","  \___/ ")
)

Ye después de esto es mas fácil (o eso quiero pensar) un ejemplo podría ser:

let biArray = (
   ("  _     ","      ","  _ ","  _ ","        "),
   (" | |__  ","  ___ "," | |"," | |","   ___  "),
   (" | '_ \", " / _ \", "| |"," | |","    / _ \ "),
   (" | | | |","|  __/",  " | |"," | |"," | (_) |"),
   (" |_| |_|"," \___|", " |_|"," |_|","  \___/ ")
)

let result = ""

biArray.forEach(chain => {
  chain.forEach(string => {
    result += string;
  })
  result += "n"
})

console.log(result)

En el ejemplo parace que no sale tan bien, pero es porque es ascii, una vez que se modifica por una entrada de texto se estropea, pero en consola se ve muy bien desde la genreación de la fuente.

Si alguien puede ayudarle estaría verdaderamente agradecido. Un saludo.

base de datos – ¿Como obtener los valores de un `Text` en python?

Estoy realizando un programa para el almacenamiento de datos de usuario. En un campo Text destinado para comentarios necesito obtener los valores alli ingresados para su almacenamiento en BBDD. Las lineas de interacción con Entry obtengo el valor a través del metodo textvariable= sin embargo esta no es compatible con Text y no encuentro un metodo con el cual pueda obtener los valores y lo tengo actualmente asi:

cuadroID=Entry(frame)
cuadroID.grid(row=0, column=1, padx=10, pady=10)
cuadroID.config(fg="red", justify="right")

cuadroNombre=Entry(frame, textvariable=nombreIntroducido)
cuadroNombre.grid(row=1, column=1, padx=10, pady=10)
cuadroNombre.config(justify="center")

cuadroApellido=Entry(frame, textvariable=apellidoIntroducido)
cuadroApellido.grid(row=2, column=1, padx=10, pady=10)
cuadroApellido.config(justify="center")

cuadroPassword=Entry(frame, textvariable=passwordIntroducido)
cuadroPassword.grid(row=3, column=1, padx=10, pady=10)
cuadroPassword.config(show="*")

cuadroDireccion=Entry(frame, textvariable=direccionIntroducido)
cuadroDireccion.grid(row=4, column=1, padx=10, pady=10)

cuadroComentarios=Text(frame, width=15, height=5, textariable=comentarioIntroducido)
cuadroComentarios.grid(row=5, column=1, pady=10)
scrollVert=Scrollbar(frame, command=cuadroComentarios.yview)
scrollVert.grid(row=5, column=2, sticky="nsew")
cuadroComentarios.config(yscrollcommand=scrollVert.set)