Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

185
Visualizações
How to get Random numbers to test math equation?

I have trouble with this equation: E * cotangent((q * E)/(k * t)) = nkT/q.

I'm looking for the values of E for the equality can be achieved knowing that: q and k are constants, t and n are variables.
For that I tried this code but apparently is failed:

public class Equation {
    public static double q = 1.6E-19;
    public static double k = 1.38E-23;

    //double y = E * 1/Math.tan(E*q/k*t);
    //DecimalFormat df = new DecimalFormat("#.#####");
    public static double[] nktq = new double[]{0.02857,0.02674,0.03118,0.02829,0.02976,0.02898,0.03001,0.02953,0.032};
    public static double[] t = new double[]{80,100,150,200,250,280,300,320,350};
    public static double[] n = new double[]{4.14,3.1,2.41,1.64,1.38,1.20,1.16,1.07,1.06};
    private static DecimalFormat df2 = new DecimalFormat(".##");

    public static double genE(){
       double start = 0;
       double end = 30;
       double random = new Random().nextDouble();
       // DecimalFormat df = new DecimalFormat("#.##");
       // df.setRoundingMode(RoundingMode.FLOOR);
        double E = start + (random * (end - start));

        //double E = new Double(df.format(result));
        System.out.println(df2.format(E));
    return E;
    }



    public static void main(String[] args) {
        //double y = E * 1/Math.tan(E*q/k*t);
        //DecimalFormat df = new DecimalFormat("#.#####")
        double E = 0;
        while ( Math.round(E *  1/Math.tan((q * E)/(k * t[0]))*100000)!= nktq[0]){
             genE();
        }
    } 
}

Any help is appreciated!

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

You create a new Random instance for each value. That's wrong.

Here's what I'd recommend you try:

public class Equation {
    private Random random;

    public Equation() { this(null); }

    public Equation(Long seed) {
        this.random = (seed == null) ? new Random() : new Random(seed.longValue());
    }

    public double nextConst() { return this.random.nextDouble(); }

    public double nextConst(double start, double end) {
        return start + (end-start)*this.random.nextDouble();
    }

    // Add the rest of your stuff here.
}
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda