como sumar dos objetos en java

tengo esta clase que manda dos objetos y deberia sumarlos y luego desplegarlos en forma de calendario pero la verdad estoy estudiando programacion y no se como hacer para que se sumen los dos objetos y aguardar el resultado en un tercero agradeceria su ayuda

Random ventaAleatoria = new Random();

       
      // Agregar ventas a las ventas citadinas y a las suburbanas
       ventasSubUrbanas.setEntrada(20);
       ventasCitadinas.setEntrada (10);
       
       // Sumar las ventas citadinas y las suburbanas dejándolas en ventas totales.
      ventasTotales.suma(ventasCitadinas);
      ventasTotales.suma(ventasSubUrbanas);
       
       // Imprimir las ventas citadinas
       System.out.println("Despliegue de las ventas citadinas");
       ventasCitadinas.despliegaCalendario2();
       
       // Dejar dos líneas
       System.out.print("n n");
       
       // Imprimir las ventas suburbanas
       System.out.println("Despliegue de las ventas suburbanas");
       ventasSubUrbanas.despliegaCalendario2();
       
       // Dejar dos líneas
       System.out.print ("n n");
       
       // Imprimir la suma de las ventas citadinas y suburbanas
       System.out.println("Despliegue de las sumas de las ventas");
       ventasTotales.despliegaCalendario2();
   
   }
}
}

y necesito sumar el contenido de estos objetos
ventasSubUrbanas.setEntrada(20);
ventasCitadinas.setEntrada (10);

tengo esta otra clase que recibe los datos

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
import java.util.Stack;

public class LibroRegistro {
    // Definición de los datos de la clase
    private int mes;                                 // mes del registro 
    private int anio;                                // año del registro
    private int() entradas;                         // entradas en el libro del registro
    private GregorianCalendar calendarioDelRegisto;  // Clase Calendar incluida en Java
    

    /** **********************************************************************
     * Constructor de objetos de la clase registro
     *********************************************************************** */
    public LibroRegistro( int mes, int anio)
    {        
        
        // Registro del año
        this.anio = anio;
        
        // Registro del mes del año. Si el mes es inválido, se asume el mes de enero.
        if ((mes >= 1) && (mes <= 12)){
           this.mes = mes;
        }
        else {
           this.mes = 1;
        }
        
        // Definición del vector de las entradas
        int numeroDiasMes = this.getNumeroDiasDelMes();
        this.entradas = new int(numeroDiasMes+1);
        
        // Asignación del valor al calendario del registro
        calendarioDelRegisto = new GregorianCalendar(this.anio, this.mes - 1, 1);
        
    }
    
    public LibroRegistro() {
        
        calendarioDelRegisto = new GregorianCalendar();
        this.anio = calendarioDelRegisto.get(Calendar.YEAR);
        this.mes = calendarioDelRegisto.get(Calendar.MONTH)+1;

        int numeroDiasMes = this.getNumeroDiasDelMes();
        this.entradas = new int (numeroDiasMes + 1);
    }
    
    public void setEntrada(int valor) {

          for(int i=0 ; i <= getNumeroDiasDelMes(); i++){
                if(i==calendarioDelRegisto.get(Calendar.DAY_OF_MONTH)){
                this.entradas(i)= valor;

            }
        }
        }

    // ***********************************************************************
    // Setters de la clase LibroRegistro
    // ***********************************************************************
    /**
     * Asigna el valor de la entrada para el libro de registro mensual, dado el día
     * 
     * @param      dia, valorEntrada         día del mes y valor de la entrada para ese día
     * @return     nada 
     */
   
    public void setEntrada(int day, int valorEntrada){

        for(int i=0 ; i <=getNumeroDiasDelMes(); i++){
            if(i==day){
                this.entradas(day)= valorEntrada;
            }
        }
     
    }
    
    // ***********************************************************************
    // Getters de la clase LibroRegistro
    // ***********************************************************************    
    /**
     * Sirve como interfaz para proporcionar el valor de la entrada
     * 
     * @param      dia                  día del mes para el que se quiere conocer la entrada
     * @return 
     * @return     valorEntrada o -1    valor de la entrada del día especificado o -1 por ser número de día erróneo
     */
    public int getEntrada(int dia){
         //System.out.printf ("    %4d                          ", diaDeLaSemana(dia));
        return this.entradas(dia);
    }
  
    /**
     * Sirve como interfaz para proporcionar el mes correspondiente 
     * al libro de registro
     * 
     * @param      nada
     * @return     mes                  número del mes correspondiente 
     *                                  al libro de registro
     */
    
  
    
    public int getMes()
    {
        return this.mes;
    }
    
    /**
     * Sirve como interfaz para proporcionar el año correspondiente 
     * al libro de registro
     * 
     * @param      nada
     * @return     anio                  número del año correspondiente al libro de registro
     */
    public int getAnio()
    {
       return this.anio;
    }
    
    /**
     * Sirve como interfaz para proporcionar número de días del mes del libro de registro
     * 
     * @param      nada
     * @return     día                  número de días correspondientes al mes del libro de registro
     */
 
    public int getNumeroDiasDelMes(){
         
       int numeroDias = 0;
     
            switch(mes){
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    numeroDias=31;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    numeroDias=30;
                    break;
                case 2:
     
                    Date anioActual=new Date();
                    if(esAnioBisiesto(this.anio) == true ){
                        numeroDias=29;
                    }else{
                        numeroDias=28;
                    }
                    break;
     
            }
     
        return numeroDias;
          
    }
    
    
    public void despliegaCalendario2 () {
         int()() Matriz;
            int()() MatrizDia;

            Matriz= new int (7)(6);
            MatrizDia= new int (7)(6);





            int contz = 1;


            for(int conty = 0; conty < 6 ;conty++){
                for(int contx = 0; contx <7 ;contx++){
                   if(contz <= getNumeroDiasDelMes()){
                        if(contx == diaDeLaSemana(contz)){


                       Matriz(contx)(conty) = getEntrada(contz);
                       MatrizDia(contx)(conty) = contz;

                        contz++;
                        }
                        else{
                            Matriz(contx)(conty) = 0;
                            MatrizDia(contx)(conty) = 0;
                        }
                    }
                }

            }

     

    /*   contz = 1;
            for(int conty = 0; conty < 6 ;conty++){
                for(int contx = 0; contx <7 ;contx++){ 

                  System.out.print(MatrizDia(contx)(conty)+"        "+Matriz(contx)(conty)+"       ");
                  contz++;

                }
                System.out.println("");
                System.out.println(""); 
            }*/
            
           
            contz = 1;
            System.out.println ("Domingo Lunes Martes Miercoles Jueves Viernes Sabado");    
            for(int y = 0; y < 6 ;y++){
                  System.out.print("|");
                 for(int x = 0; x <7 ;x++){ 
                    System.out.print (MatrizDia(x)(y)+" "+Matriz(x)(y)+"");
                    if (y!=Matriz(x).length) System.out.print("t");
                  }
                  System.out.println("|");
                }
    }
        
    // ***********************************************************************
    // Definición de los métodos facilitadores de la clase
    // ***********************************************************************
    /**
     * Indica si el año del libro de registro es bisiesto o no
     * 
     * @param      anio
     * @return     Verdadero o Falso    
     */
    public boolean esAnioBisiesto(int anio)
    {
        GregorianCalendar calendar = new GregorianCalendar();
        boolean esBisiesto = false;
        if (calendar.isLeapYear(anio)) {
            esBisiesto = true;
        }
        return esBisiesto;
    }
 
        private int diaDeLaSemana(int dia){
            
            calendarioDelRegisto.set(this.anio, this.mes- 1, dia);
            int diaDeLaSemana = calendarioDelRegisto.get(Calendar.DAY_OF_WEEK) - 1;
            return diaDeLaSemana;
        }

            void suma(LibroRegistro libroreg) {
        
             
            
            
}
  
    }

pero no se que deberia ir en mi void suma para que pueda sumar los objetos
ya que apenas estoy aprendiendo a porgramar y es una de mis tareas y ando atorado en esa parte

html5 – Retornar objetos de un for con estilos aplicado en Javascript

estoy iniciando en javascript y tengo un array de objetos, y quisiera retornarlos uno por uno para que aparecieran estilizados.

El problema es que solo me retorna el ultimo objeto del array con los estilos aplicados; y no cada uno de los objetos existentes.

Hoja de estilos a aplicar: .wapper lo utilizo para así poder obtener dos columnas automáticas.

* {
  box-sizing: border-box;
  margin: 0;
}

main {
  float:left;
  width:80%;
  padding:0 20px;
  background: #E8E5DA;
  padding-bottom: 60px;
  padding-top:30px;
  font: sans-serif;
}

.wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 22px;
}

h2 {
  padding-top: 30px;
  padding-left: 30px;
  color: #D62828;
  font: 120% sans-serif;
}

En mi .html es donde tengo mi script a ejecutar
El error se encuentra básicamente en la manera en la cual retorno mis valores.

<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <script type="text/javascript">

        function Platillo(nombre,precio,tipo) {
          this.nombre = nombre;
          this.precio = precio;
          this.tipo = tipo;
        }

        var platillos = ();
        var p1 = new Platillo("Hongos Portobello",115,"Aperitivo");
        var p2 = new Platillo("Pasta Gamberi",130,"Aperitivo");
        var p3 = new Platillo("Trío de Bruschetas Serrano",115,"Aperitivo");
        var p4 = new Platillo("Milanesa de Pollo",85,"Carne");
        var p5 = new Platillo("Filete de Pescado",115,"Pescado");
        var p6 = new Platillo("Pollo al limón",210,"Carne");
        var p7 = new Platillo("Chicarron de rib eye",295,"Carne");
        var p8= new Platillo("Pastel de Chocolate",60,"Postre");
        var p9 = new Platillo("Flan Napolitano",665,"Postre");
        var p10 = new Platillo("Fondant Choco",115,"Postre");
        platillos.push(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10);


        function mostrarListado(){
          var lista='';
          for(var i=0; i<platillos.length; i++){
            document.getElementById('nombreProducto').innerText = platillos(i).nombre;
            document.getElementById('precioProducto').innerText =  'Precio de venta: ' + '$' + platillos(i).precio + 'MXN';
            document.getElementById('tipoComida').innerText =  'Tipo de comida: ' + platillos(i).tipo;
          }

        }

    </script>
  </head>
  <body onload="mostrarListado()">
        <main>
          <section>
            <h1>Menú</h1>
            <div class="wrapper">
              <div>
                <h2 id = "nombreProducto"></h2>
                <ul>
                  <li id = "precioProducto"></li>
                  <li id = "tipoComida"></li>
                </ul>
              </div>
            </div>

          </section>
        </main>

Sé que una manera de retornar todo correctamente seria recorrer el arreglo con un for y guardar en una cadena todo formateado y así retornarlo en un div; pero necesito aplicar los estilos y de esa manera no me sería posible.

Obtengo esto:
Error obtenido:

Y necesito obtener esto:
Forma correcta

orientação a objetos – Como atribuir no construtor de uma classe filha uma instância da classe pai em Ruby

Eu tenho uma classe filha que é inicializada com algumas instâncias:

def initialize(nome:, preco:, categoria:)
    @nome = nome
    @preco = preco
    @categoria = categoria
end

Mas preciso que a variável @categoria seja puxada do construtor da classe pai. A instância que preciso da classe pai está com outro nome e não consegui pegar utilizando o método super.

  def initialize(nome: 'Geral')
    @nome = nome
  end

Em resumo, preciso que o atributo @categoria da classe filha herde o atributo @nome da classe pai.

javascript – Objetos en Typescript

trabajo con Javascript y estoy migrando a Typescrip, tengo un problema que no logro encontrar en ningun lado.

Interface Autor = {
    nombre: String,
    edad: int,
}

var autor: Autor = {
    nombre: "",
    edad: 0
}

mi pregunta es, ¿como hago modifico el atributo sin saber cual es?

en Javascript es sensillo, cual seria el equivalente en Typescript o como hago esto?

var attr:string = props.attr;
(data)=>{
    autor(attr) = data;// aquí es donde sale el error
}

javascript – ¿Como puedo ordenar este array de objetos de forma alfabética en node js?

tengo una duda sobre como ordenar este array de objetos de forma alfabética, teniendo en cuenta que algunos de los elementos del array están en minúscula y otros llevan acentos.

El array es el siguiente:

  Product { id: 1, name: 'TV Samsung MP45', price: 325.9, units: 8 },
  Product { id: 2, name: 'Ábaco de madera (nuevo modelo)', price: 245.95, units: 15 },
  Product { id: 3, name: 'impresora Epson', price: 55.9, units: 8 },
  Product { id: 4, name: 'USB Kingston 16GB', price: 5.95, units: 45 }

Debo ordenarlo de forma alfabética, para que quede de la siguiente manera:

   Product { id: 2, name: 'Ábaco de madera (nuevo modelo)', price: 245.95, units: 15 },
   Product { id: 3, name: 'impresora Epson', price: 55.9, units: 8 },
   Product { id: 1, name: 'TV Samsung MP45', price: 325.9, units: 8 },
   Product { id: 4, name: 'USB Kingston 16GB', price: 5.95, units: 45 }

Pero el resultado es el siguiente:

  Product { id: 1, name: 'TV Samsung MP45', price: 325.9, units: 8 },
  Product { id: 2, name: 'Ábaco de madera (nuevo modelo)', price: 245.95, units: 15 },
  Product { id: 3, name: 'impresora Epson', price: 55.9, units: 8 },
  Product { id: 4, name: 'USB Kingston 16GB', price: 5.95, units: 45 }

Para realizar el orden del array utilizo la función sort de esta manera:

orderByName(){
    return this.products.sort((a,b) => a.name - b.name);
        return a.name - b.name;
}

He provado muchas cosas para hacer que lo ordene sin tener en cuenta que algunas palabras están acentuadas y otras son minúsculas.

¿Alguien sabe alguna solución?

google sheets – Como unir objetos de 2 inputs do type file em javascript

Código Js:
function getFiles() {
  const f = document.getElementById('files1');  
  const r = Promise.all((...f.files).map((file, i) => {
    const fr = new FileReader();
    return new Promise((r) => {
      fr.onload = (e) => {
        const data = e.target.result.split(",");
        return r({fileName: f.files(i).name, mimeType: data(0).match(/:(w.+);/)(1), data: data(1)});
      }
      fr.readAsDataURL(file);
    });
  }))
  .then((obj) => {
    google.script.run.withSuccessHandler((id) => {
      console.log(id);
    }).createZip(obj);
  });
}
<input name="anexo1" id="files1" class="example" type="file" multiple>
<input name="anexo2" id="files2" class="example" type="file" multiple>

<input type='button' value='Upload' onclick='getFiles()'>

<script>

javascript – Por que esse array de objetos não está sendo ordenado? (JS | Bot para Discord)

Eu estou tentando fazer um Bot para Discord.
O comando que estou fazendo faz o seguinte (É um sistema de votação):

1-Você cita quem vai ser candidato.

2-O bot envia no mesmo canal as pessoas mencionadas em mensagens diferentes.

3-Você vota reagindo a alguém.

4-A pessoa mais votada ganha.

E estava conseguindo fazer isso, o problema é no passo 4. O bot deve colocar cada mensagem com suas reações (votos) em um array.
Depois ele pega uma propriedade que tem em toda reação,

.count -> Que é quanto da mesma reação foi feita.

E ordena o array de acordo com a quantidade de votos (count), e após ele pega o primeiro item do array (que seria essa mensagem com mais reações).
Mas não está funcionando, o código é o seguinte:

 setTimeout(() => {
    //voted_colls -> É toda reação que ele coletou. Ele é um array, e cada item é uma collection de 
    //um objeto.
    voted_colls = voted_colls.sort((a, b) => {
      if (a.first().count > b.first().count){
        return 1;
      } 
      if (a.first().count < b.first().count){
        return -1;
      }
      return 0;
    });
    
    let impostor = voted_colls(0).first().message.mentions.users.first();

  }, 10550);
} 

Bom, na minha visão tinha que pegar o primeiro item já ordenado e tava tudo certo.
Mas ele não ordena, já tentei vários tipos de métodos pra ordenar.

Essa imagem expressa o comando (quase) pronto (O único problema como já disse, é que o resultado não saí o mais votado):

inserir a descrição da imagem aqui

sim, meu comando é um baguio de among us 9-9

orientação a objetos – Como obter um código em C# que resolva o problema de baixa coesão e alto acoplamento descrito abaixo?

No desenvolvimento de sistemas temos vários conceitos importantes que podemos aplicar durante a evolução dos projetos de softwares como a análise da Coesão e do Acoplamento entre as partes do sistema. A Coesão torna o nosso projeto mais harmônico através de uma melhor distribuição de responsabilidades entre as classes, assim, podemos identificar situações de Alta Coesão ou Baixa Coesão, sendo a Alta Coesão a melhor situação. O Acoplamento significa a dependência entre as classes do projeto, onde devemos buscar um mais Baixo Acoplamento possível. Considerando o seu conhecimento sobre Coesão e Acoplamento, analise a situação em que você deverá implementar classes para um sistema de pedidos de uma loja virtual. O sistema de pedidos necessita dos objetos do tipo Pedido e ItemPedido, onde os objetos do tipo Pedido devem armazenar informações como código do pedido, data do pedido e cpf do cliente, logo, esses deverão ser os atributos declarados dentro da classe Pedido. Os objetos do tipo ItemPedido devem armazenar informações como código do item, descrição do item e valor do item, assim, a classe ItemPedido deve possuir esses atributos. Considere o tipo int para os códigos, o tipo String para data, cpf e descrição e o tipo float para valor do item. Frente a essa situação, considere que um pedido possui apenas um item de pedido, faça com que as implementações das classes Pedido e ItemPedido sejam dependentes uma da outra através de um atributo chamado item, dentro da classe Pedido. Esse atributo item deve ser do tipo ItemPedido, assim, teremos uma situação de acoplamento do tipo: uma classe A possuindo um atributo do tipo da classe B. Após essa implementação, que representa um problema de Baixa Coesão e Alto Acoplamento, apresente uma solução removendo a dependência entre as duas classes.

Curso: Fundamentos de Desenvolvimento de Aplicações com Visual C#

Arrays de objetos struct [fechada]

Preciso de ajuda para fazer essa atividade, não tenho noção de por onde começar.

O programa para gerenciar questionários (veja nas orientações gerais que não há entrada de dados).
• Um questionário deve ter um título, nome da disciplina e quantidade atual de perguntas.
• Um questionário é formado por uma quantidade desconhecida de perguntas (pode ser estabelecida uma capacidade
máxima de perguntas).
• A quantidade de questionários também é variável e deve ser gerenciada dinamicamente (pode ser estabelecida uma
capacidade máxima de perguntas).
• Uma pergunta tem um estilo múltipla escolha, sendo formada por um texto (descrição da pergunta), por uma lista de 4
possíveis respostas e pela indicação da resposta correta. Ela também deve possuir um número único, o qual deve ser
calculado pelo próprio programa. Este número não precisa ser sequencial e você tem liberdade para pensar na melhor
solução (mas não utilize variáveis globais).
• Funcionalidades esperadas:
o Adicionar, excluir ou recuperar um questionário. Quando um questionário é excluído, todas as suas perguntas
também devem ser excluídas. Lembre-se que para excluir um elemento na posição n de um array, é necessário
mover todos os elementos posteriores (n + 1, n + 2, …) para uma posição à esquerda (n + 1 passa a estar na
posição n e assim por diante).
o Adicionar, excluir ou recuperar uma pergunta específica em um questionário existente.
o Listar todas as perguntas de um questionário, dado o número do questionário.

javascript – Codigo para detectar objetos con IA, como puedo ponerle voz sin que quede en bucle



  function clasificar(){
    const Imagen = modelo.infer(Camara);
    knn.classify(Imagen, function(error, result) {
      if(error){
        console.error();
      }
      else{
        Texto.html("Es un " + result.label);

Aqui cuando llamo para que me hable el resultado que detecta me lo dice siempre en bucle, como hago para que me lo diga solo 1 vez, es que si no luego le doy a que grabe nuevas imagenes y no me las dice porque queda pillada diciendo siempre esto:



        var mensaje2 = new SpeechSynthesisUtterance("Es un " + result.label);
        window.speechSynthesis.speak(mensaje2);
        clasificar();
               
      }     
    })
  }
 

  function draw() {
    image(Camara, 0, 0, 420, 340);
    if(knn.getNumLabels()> 0 && !Clasificando){
      clasificar();
      Clasificando = true;
    }
  }