将数字提高到幂;重复的话

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。

【讨论】:

以上是关于将数字提高到幂;重复的话的主要内容,如果未能解决你的问题,请参考以下文章

如何将数字提高到幂?

在 SAS 中将数字数组提高到幂

数组中重复的数字 java

Java - 类名以数字开头[重复]

算法提高 数字黑洞

js去掉数组中重复的元素