Convertion de code Java en VB.net

Signaler
Messages postés
85
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
20 mai 2011
-
Messages postés
2
Date d'inscription
mercredi 16 mai 2012
Statut
Membre
Dernière intervention
19 juin 2012
-
Bounjour à tous
j'ai posté une question concernant le produit de puissances
j'ai trouvé l'algo qui répond à ma demande le problème c'est qu'il est en Java
Quelqu'un pourrait-il m'aider à le convertir en vb ?
Voici le java et ce que j'ai converti après:
// the following javascript function calculates
// Bas [0] ^ Exp [0] x Bas [1] ^ Exp [1] x ...
function productOfPowers_simpleVersion ( Bas , Exp ) {
  var str // temporary string
// make binary representations:
  var maxLen = 0
  var bin = new Array ()
  for ( var i = 0 ; i < Exp.length ; i++ ) {
    str = Exp [i] . toString ( 2 )
    bin [i] = str
    if ( maxLen < str.length ) maxLen = str.length
  }
// make all binaries the same length:
  for ( var i = 0 ; i < bin.length ; i++ ) {
    while ( bin [i] . length < maxLen ) bin [i] = '0' + bin [i]
  }
// calculate:
  var result = 1
// . use first binary digits:
  for ( var y = 0 ; y < bin.length ; y++ ) {
    str = bin [y]
    if ( str.charAt ( 0 ) == '1' ) {
      if ( result 1 ) result Bas [y] ; else result = result * Bas [y]
    }
  }
// . use remaining digits:
  for ( var x = 1 ; x < maxLen ; x++ ) { // x : all digits except first one
    result = result * result
    for ( var y = 0 ; y < bin.length ; y++ ) { // y : all factors
      str = bin [y]
      if ( str.charAt ( x ) '1' ) result result * Bas [y]
    }
  }
// ready:
  return result
}
//


Ce que j'ai fait:
Private Function productOfPowers_simpleVersion(ByVal Bas As Array, ByVal Exp As Array) As String
        Dim str As String
        ' make binary representations:
        Dim maxLen As Integer = 0
        Dim bin() As String
        Dim I As Integer

        For I = 0 To Exp.Length
            str = Exp(I).ToString(2)
            bin(I) = str
            If maxLen < str.Length Then maxLen = str.Length
        Next
        ' make all binaries the same length:
        For I = 0 To bin.Length
            While bin(I).Length < maxLen
                bin(I) = "0" & bin(I)
            End While
        Next
        ' calculate:
        Dim result As Integer = 1
        ' use first binary digits:
        For y = 0 To bin.Length
            str = bin(y)
            If str.charAt(0) = "1" Then
                If result = 1 Then
                    result = Bas(y)
                Else : result = result * Bas(y)
                End If

 next
        ' use remaining digits:
        ' x : all digits except first one
        For x = 1 To maxLen
            result = result * result
        Next


        For y = 0 To bin.Length
            ' y : all factors
            str = bin(y)
            If str.Chars(x) "1" Then result result * Bas(y)
        Next
       
 
        ' ready:
        Return result

    End Function

Merci d'avance

4 réponses

Messages postés
1
Date d'inscription
mercredi 21 décembre 2011
Statut
Membre
Dernière intervention
20 avril 2012

Salut à tout le monde!! je m'appelle Patrick.
Vous pouvez m'aider à convertir ce code java d'une calculatrice ci- dessous en VB.NET:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Calculatrice extends JFrame {
private JPanel container = new JPanel();
String[] tab_string = {"1", "2", "3", "4", "5", "6", "7",
"8", "9", "0", ".", "=", "C", "+", "-", "*", "/"};
JButton[] tab_button = new JButton[tab_string.length];
private JLabel ecran = new JLabel();
private Dimension dim = new Dimension(50, 40);
private Dimension dim2 = new Dimension(50, 31);
private double chiffre1;
private boolean clicOperateur false, update false;
private String operateur = "";
public Calculatrice(){
this.setSize(240, 260);
this.setTitle("Calculette");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
initComposant();
this.setContentPane(container);
this.setVisible(true);
}
private void initComposant(){
Font police = new Font("Arial", Font.BOLD, 20);
ecran = new JLabel("0");
ecran.setFont(police);
ecran.setHorizontalAlignment(JLabel.RIGHT);
ecran.setPreferredSize(new Dimension(220, 20));
JPanel operateur = new JPanel();
operateur.setPreferredSize(new Dimension(55,225));
JPanel chiffre = new JPanel();
chiffre.setPreferredSize(new Dimension(165, 225));
JPanel panEcran = new JPanel();
panEcran.setPreferredSize(new Dimension(220, 30));
for(int i = 0; i < tab_string.length; i++)
{
tab_button[i] = new JButton(tab_string[i]);
tab_button[i].setPreferredSize(dim);
switch(i){
case 11 :
tab_button[i].addActionListener(new
EgalListener());
chiffre.add(tab_button[i]);
break;
case 12 :
tab_button[i].setForeground(Color.red);
tab_button[i].addActionListener(new
ResetListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
case 13 :
tab_button[i].addActionListener(new
PlusListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
case 14 :
tab_button[i].addActionListener(new
MoinsListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
case 15 :
tab_button[i].addActionListener(new
MultiListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
case 16 :
tab_button[i].addActionListener(new
DivListener());
tab_button[i].setPreferredSize(dim2);
operateur.add(tab_button[i]);
break;
default :
chiffre.add(tab_button[i]);
tab_button[i].addActionListener(new
ChiffreListener());
break;
}
}
panEcran.add(ecran);
panEcran.setBorder(BorderFactory.createLineBorder(Color.black));
container.add(panEcran, BorderLayout.NORTH);
container.add(chiffre, BorderLayout.CENTER);
container.add(operateur, BorderLayout.EAST);
}
private void calcul(){
if(operateur.equals("+"))
{
chiffre1 = chiffre1 +
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
}
if(operateur.equals("-"))
{
chiffre1 = chiffre1 -
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
}
if(operateur.equals("*"))
{
chiffre1 = chiffre1 *
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
}
if(operateur.equals("/"))
{
try{
chiffre1 = chiffre1 /
Double.valueOf(ecran.getText()).doubleValue();
ecran.setText(String.valueOf(chiffre1));
}catch(ArithmeticException e){
ecran.setText("0");
}
}
}
class ChiffreListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
//On affiche le chiffre en plus dans le
label
String str =
((JButton)e.getSource()).getText();
if(update)
{
update = false;
}
else
{
if(!ecran.getText().equals("0"))
str = ecran.getText() +
str;
}
ecran.setText(str);
}
}
class EgalListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
calcul();
update = true;
clicOperateur = false;
}
}
class PlusListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
if(clicOperateur)
{
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else
{
chiffre1 =
Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "+";
update = true;
}
}
class MoinsListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
if(clicOperateur)
{
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else
{
chiffre1 =
Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "-";
update = true;
}
}
class MultiListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
if(clicOperateur)
{
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else
{
chiffre1 =
Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "*";
update = true;
}
}
class DivListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
if(clicOperateur)
{
calcul();
ecran.setText(String.valueOf(chiffre1));
}
else
{
chiffre1 =
Double.valueOf(ecran.getText()).doubleValue();
clicOperateur = true;
}
operateur = "/";
update = true;
}
}
class ResetListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
clicOperateur = false;
update = true;
chiffre1 = 0;
operateur = "";
ecran.setText("");
}
}
}

Commence donc par faire une recherche dans les codes. Il doit bien y avoir 3 ou 4 programmes de calculatrice déjà faits. Cela va être moins long.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
52
Salut

comment tu definis les produits de puissances ?
A1^N1 * A2^ N2 ?
Messages postés
2
Date d'inscription
mercredi 16 mai 2012
Statut
Membre
Dernière intervention
19 juin 2012

<?php

include '../php-ofc-library/open-flash-chart.php';

$title = new title( date("D M d Y") );

$data = array(9,8,7,6,5,4,3,2,1);

$bar = new bar_round();
$bar->set_values( $data );

$chart = new open_flash_chart();
$chart->set_title( $title );
$chart->add_element( $bar );

echo $chart->toString();