Java 基于循环内加减一的计算器思维练习
因此,作为一个思想练习,我一直在尝试编写一个非常简单的计算器,它可以通过使用for循环和嵌套for循环来执行加法、减法、乘法、除法和幂(以及最终的根)等功能,通过加或减1 但是,我需要有关幂函数的帮助(下面代码中的最后一个方法)。由于乘法需要一个嵌套的for循环(下面显示的第三种方法),我认为幂函数只需要再深一层或两层。但要么不是这样,要么我没有正确地编码,我想这是两种情况中最有可能的一种Java 基于循环内加减一的计算器思维练习,java,calculator,exponent,Java,Calculator,Exponent,因此,作为一个思想练习,我一直在尝试编写一个非常简单的计算器,它可以通过使用for循环和嵌套for循环来执行加法、减法、乘法、除法和幂(以及最终的根)等功能,通过加或减1 但是,我需要有关幂函数的帮助(下面代码中的最后一个方法)。由于乘法需要一个嵌套的for循环(下面显示的第三种方法),我认为幂函数只需要再深一层或两层。但要么不是这样,要么我没有正确地编码,我想这是两种情况中最有可能的一种 import java.util.*; public class Main { public stat
import java.util.*;
public class Main {
public static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
Power();
}
public static void addition() {
System.out.println("Type first number to add: ");
int num1 = scan.nextInt();
System.out.println("Type second number to add");
int num2 = scan.nextInt();
int result = num1;
while(num2 > 0){
num2--;
result++;
}
System.out.println("The result is: " + result);
}
public static void subtraction() {
System.out.println("Type first number to subtract: ");
int num1 = scan.nextInt();
System.out.println("Type second number to subtract: ");
int num2 = scan.nextInt();
int result = num1;
while(num2 > 0){
num2--;
result--;
}
System.out.println("The result is: " + result);
}
public static void multiplication() {
System.out.println("Type first number to multiply: ");
int num1 = scan.nextInt();
System.out.println("Type second number to multiply: ");
int num2 = scan.nextInt();
int result = 0;
for(int i = num1;i>0;i--){
for(int x = num2;x>0;x--){
result++;
}
}
System.out.println("The result is: " + result);
}
public static void division() {
System.out.println("Type first number to divide: ");
int num1 = scan.nextInt();
System.out.println("Type second number to divide: ");
int num2 = scan.nextInt();
int result = 0;
for(;num2>0 && num1 > num2;num2--){
result++;
for(;num1 > num2;num1--){
}
}
System.out.println("The result is: " + result);
}
public static void Power() {
System.out.println("Type Base Number: ");
int num1 = scan.nextInt();
System.out.println("Type Exponent: ");
int num2 = scan.nextInt();
int result = 0;
for(int i = num1;i>0;i--){
for(int x = num1;x>0;x--){
for(int y = num2; y>0; y--){
for(int z = num2; z>0;z--){
result++;
}
}
}
}
System.out.println("The result is: " + result);
}
}
你可以这样做。这有点模块化,但是如果您希望它在一个完整的循环中,您可以将乘法函数中的代码放入幂函数中
public int mulitply(int x, int y) {
int product = 0;
for (int i = 0; i < y; i++) {
for (int j = 0; j < x; j++) {
product++;
}
}
return product;
}
public int power(int x, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result = multiply(result, x);
}
return result;
}
public整数倍(整数x,整数y){
int乘积=0;
for(int i=0;i
合并:
public int power(int x, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
int product = 0;
for (int j = 0; j < x; j++) {
for (int k = 0; k < result; k++) {
product++;
}
}
result = product;
}
return result;
}
公共整数幂(整数x,整数指数){
int结果=1;
对于(int i=0;i<指数;i++){
int乘积=0;
对于(int j=0;j
感谢您的回复,但我想知道是否有一种方法可以通过使用嵌套for循环来实现这一点?到目前为止,根据我当前的代码,我发现嵌套循环的数量等于指数。例如,4^4需要4个For循环(其中三个是嵌套的)。当然有一种更简单的方法可以做到这一点吗?我把它结合起来使用嵌套循环。这就是你想要的吗?太棒了!那很好用。如果可以的话,你介意看看我的代码并解释我哪里出错了吗?再次感谢你的帮助!当然可以看看你的代码,一共有4个循环。外部两个循环从num1到0,每个循环又称为num1次,内部两个循环从num2到0,每个循环又称为num2次,因此它在num1*num1+num2*num2次中进行迭代,即(a^2+b^2),这不是您想要的结果!