Проблемки от Ottaviano

Модератор: Absurd

Ответить
ottaviano
Сообщения: 4
Зарегистрирован: 18 фев 2010, 21:34

Ребята написал два класса (в универе все работало да и работем мы там на лунексах),а прийдя домой, попробовал на винде и не понял почему букль (н е знаю как по русски) FOR не работает правильно; Помогите разобраться плиизз, зарание спасибо!!

1-class

import java.io.IOException;
public class PolynomeMain {
public static void main(String[] args) throws IOException{
System.out.println("Entrez le degre max de votre polynome");
int d;
d=System.in.read();
double[] k=new double[d+1];
for(int i=0;i<k.length;i++){ //хочется понять почему вот эта инструкция не работает как надо
System.out.println("Entre le coeff de X^"+i);//выполняет три раза это и только потом просит ввести число
k=System.in.read();
}
Polynome y=new Polynome(k);
System.out.println(y.toString());
System.out.println("");
System.out.println("le degre de votre polynome est " + (y.getDegre()-1));
System.out.println("");
y.multParConst(2);
System.out.println("*2= " + y.toString());
y=new Polynome(k);
System.out.println("");
y.multParMonome(4);
System.out.println("*X^4= "+ y.toString());
System.out.println("");
double[] r=y.coeffs;
y=new Polynome(k);
System.out.println("X=2==>"+ y.eval(2));
System.out.println("");

Polynome m=new Polynome(r);
Polynome p=y.additionner(m);
System.out.println(p.toString());
}
}

2-class


public class Polynome {
public double[] coeffs;

public Polynome(double[] t){
coeffs=new double[t.length];
for(int i=0;i<coeffs.length;i++){
coeffs=t;
}
}

public String toString(){
String x="";
for(int i=0;i<coeffs.length;i++){
x=x+'|'+coeffs;
}
return x;
}

public int getDegre(){
return (coeffs.length);
}

public double getCoeff(int i){
return coeffs;
}

public void multParConst(double c){
for(int i=0;i<coeffs.length;i++){
coeffs*=c;
}
}

public void multParMonome(int i){
double[] t=new double[coeffs.length+i];
for(int k=0;k<coeffs.length;k++){
t[k+i]=coeffs[k];
}
coeffs=t;
}

public double eval(double x){
double point=0;
for(int i=0;i<coeffs.length;i++){
point=point+(coeffs*Math.pow(x,i));
}
return point;
}

public Polynome additionner(Polynome p){
int degmax,degmin;
boolean x;
if(p.coeffs.length>coeffs.length){
degmax=p.coeffs.length;
degmin=coeffs.length;
x=true;
}
else {
degmax=coeffs.length;
degmin=p.coeffs.length;
x=false;
}
double[] add=new double[degmax];
for(int i=0;i<degmin;i++){
add=p.coeffs+coeffs;}

for(int i=degmin;i<degmax;i++){
if(x){
add[i]+=p.coeffs[i];}
else {
add[i]+=coeffs[i];}
}
Polynome ad=new Polynome(add);
return ad;
}
}
Ответить