尝试仅使用加法将两个数相乘

时间:2015-03-27 14:44:47

标签: java algorithm loops for-loop

所以我正在尝试制作一个非常简单的程序,但我想我已经在思考了。我想将两个数字相乘而不使用乘法,只需要加法。我知道为了达到这个目的,我必须将X添加到自身Y次,但是现在我的for循环方式,它只是将X添加到自身一次而不再重复。我知道这个算法在错误的地方,但我不确定在哪里放置它或做什么其他的。任何帮助将不胜感激!

import java.util.Scanner;


public class multiply {

public static void main(String[] args) {

    int x = 0;
    int y = 0;
    int answer = 0;

    Scanner scan = new Scanner (System.in);

    System.out.println("Please enter a value for x");
    x = scan.nextInt();

    System.out.println("Please enter a value for y");
    y = scan.nextInt();

    for(int i = 0; i < y; i++){
        answer = x+x;

    }

    System.out.println(x + " multiplied by " + y + " equals " + answer);

}

}

2 个答案:

答案 0 :(得分:5)

这是不正确的

answer = x+x;

应该是:

answer = x + answer;

answer += x

答案 1 :(得分:3)

你的问题是你在每次迭代中重新分配,你实际上需要这样做

试试这个

  answer += x;