Имам нужда от помощ, за да разбера какво се е случило. Аз съм италиански говорител, така че някаква променлива, която имам, я назовавам на италиански. След известно време без кодиране, започнах да кодирам нещо основно и лесно. Направих клас, наречен "Prova", който беше калкулатор. 4 метода: събиране, минус, произведение и деление. Първите три метода нямаха аномалия, последният имаше. Направих работещ клас и видях някакъв странен резултат
Ето кода:
public class Prova {
public int add(int addendo1, int addendo2) {
int res;
res = addendo1+addendo2;
return res;
}
public int minus(int minuendo, int sottraendo) {
int res;
res = minuendo-sottraendo;
return res;
}
public int multiply(int fattore1, int fattore2) {
int res;
res = fattore1*fattore2;
return res;
}
public double divide(int divisore, int dividendo) {
double res;
res = divisore/dividendo;
return res;
}`
Ето командата: public static void main(String[] args) {
Prova somma = new Prova();
System.out.println(somma.add(5, 5)+"\n");
System.out.println(differenza.minus(20, 11)+"\n");
System.out.println(new Prova().product(2, 4)+"\n\n");
System.out.println(new Prova().divide(100, 1)+'\n');
System.out.println(new Prova().divide(100, 2)+'\n');
System.out.println(new Prova().divide(300, 3)+'\n');
System.out.println(new Prova().divide(400, 4)+'\n');
System.out.println(new Prova().divide(500, 5)+'\n');
System.out.println(new Prova().divide(600, 6)+'\n');
}
И ето моите резултати:
- 10 //somma.add(5,5)
- 9 //differenza.minus(20,11)
- 8 //multiply(2,4)
- 110.0 //divide(100,1)
- 60.0 //divide(100,2)
- 110.0 //divide(300,3)
- 110.0 //divide(400,4)
- 110.0 //divide(500,5)
- 110.0 //divide(600,6)
Други опити с метода на разделяне бяха дали
14/2 = 17.0;
1/1 = 11.0;
2/2 = 11.0;
3/3 = 11.0;
Операторът работи добре извън моя клас Prova.divide(). Въпросът ми е какво се случи тук? Не виждам какво съм направил погрешно
res = divisore/dividendo;
наres = divisore/(double)dividendo;
- person Elliott Frisch   schedule 06.12.2018divisore/dividendo
са цели числа, тогава ще извършите целочислено деление - person Scary Wombat   schedule 06.12.2018\n
къмdouble
, но това всъщност добавя10
, тъй като(int) '\n'
е10
. Можете да използвате"\n"
вместо това, така че той действително да свърже символ за нов ред. Бях на път да го публикувам като отговор, но беше маркирано като дубликат. - person Jacob G.   schedule 06.12.2018