将数字提高到幂;重复的话
Posted
技术标签:
【中文标题】将数字提高到幂;重复的话【英文标题】:Raising a number to a power; Repeating words 【发布时间】:2014-03-04 21:44:43 【问题描述】:import java.util.*;
import javax.swing.*;
public class ZhangIDK
public static void main (String[] args)
Scanner sc = new Scanner (System.in);
System.out.println ("Please enter a number");
int h = sc.nextInt();
System.out.println ("Please enter another number");
int i = sc.nextInt();
System.out.println ("Please enter a string/word");
String j = sc.nextLine();
System.out.println ("Please enter a number");
int k = sc.nextInt();
average (1, 2, 3, 4, 5, 6, 7);
least (1, 2, 3, 4, 5);
public static void average (int a, int b, int c, int d, int e, int f, int g)
int y = a + b + c + d + e + f + g;
y/=7;
System.out.println (y);
public static void least (int q, int r, int s, int t, int u)
int Smallestnumber = 100;
int number = 1;
if (number < Smallestnumber)
Smallestnumber = number;
number++;
System.out.println("The smallest number is" +Smallestnumber+ ".");
public static void power (int h, int i)
public static void repeater (String j, int k)
在我们的编程课上,我们正在学习方法。我们的老师分配给我们这个东西,在第一种方法中,我们找到了 7 个(预先声明的)数字的平均值,在第二种方法中,我们找到了 5 个(预先声明的)数字中的最小数字。在第三种方法中,我们必须使用扫描仪输入两个数字,并将第一个数字提高到第二个数字的幂。例如:5、2;程序应输出 25 (5^2)。最后,在第四种方法中,我们必须再次使用扫描仪并输入一个字符串和一个数字,程序应该输出字符串的次数作为数字。例如:比尔,3;计算机会输出 Bill Bill Bill。
我在使用第三种和第四种方法时遇到了问题。在我的幂方法中,当我输入例如 2 和 4 时,程序会简单地打印出 2。此外,当我尝试执行第四种方法时,由于某种原因,这完全不起作用,尽管它看起来像应该可以正常工作。一件事是它的system.out.println问题“请输入作品”和“请输入数字”这两个问题集中在一起,所以我无法输入单词。请帮忙!
【问题讨论】:
【参考方案1】:我认为在家庭作业中不允许在这里使用Math.pow
。
这两种方法有一个共同点,它们都可以使用for
循环来实现
public static void power (int h, int i)
int result = 1; //If i == 0 then h^i == 1
for (int tmp=0; tmp<i; tmp++)
result *= h
System.out.println(result);
public static void repeater (String j, int k)
for(int tmp = 0; tmp<k; tmp++)
System.out.print(j + " ");
【讨论】:
如果教的是方法,那么 Math.pow() 合二为一可能没问题。不过,对于发帖者来说,最好同时学习两种书写力量的方式。 是的,考虑到这是一个非常简单的方法,我想也许他们希望学生自己实现它。 :) 我尝试了 Albus Shin 的回答,但是当我提出例如 2 到 4 时,程序只打印出 2。关于原因有什么建议吗?【参考方案2】:public static void power(int h, int i)
System.out.print(Math.pow(h, i));
public static void repeater(String name, int count)
for(int i = 1; i<=count; i++)
System.out.print(name+" ");
在 java 中,获取数字的幂已经被处理了,而不是运行一个将数字与自身相乘的循环。要使用你需要调用的函数Math.pow
正如您在上面看到的,Math.pow() 接受整数输入(或双精度),第一个输入是主数,第二个输入是幂...
反复谈论字符串的打印..我相信你一定做过循环,否则我不确定你是否真的理解 dere 发生了什么......但它非常直截了当......没有什么可以解释的那里...
【讨论】:
【参考方案3】:public static void power (int h, int i)
System.out.println(Math.pow(h, i));
Math.pow() 是一个标准库函数,用于将数字求幂。
public static void repeater (String j, int k)
for (int i = 0; i < k; i++) System.out.println(j);
它的作用是,对于 0 到 k-1 之间的每个值,打印字符串 j。
【讨论】:
以上是关于将数字提高到幂;重复的话的主要内容,如果未能解决你的问题,请参考以下文章