java 重新输入数字直到_java 要求输入一个数字(例如2)如果无效要求重新输入,输入第二个数字(0-3)...

java 要求输入一个数字(例如2)如果无效要求重新输入,输入第二个数字(0-3)

关注:246  答案:4  mip版

解决时间 2021-01-18 07:14

e6cb1a03ad541b3098697807b7bf1798.png

提问者妳青噝侞烏

2021-01-17 08:54

java 要求输入一个数字(例如2)如果无效要求重新输入,输入第二个数字(0-3)例如3,显示结果2的零次幂 2的一次幂 2 的2次幂 2的3次幂

本人刚刚接触java编程 遇到测验 希望有人帮忙解答

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家伈係鯡亼

2021-01-17 10:22

import java.util.InputMismatchException;

import java.util.Scanner;

public class Test {

public static void main(String args[]) {

int base = getDigitFromInput(0, 3, true);

int exp = getDigitFromInput(0, 3, false);

for(int i = 0; i <= exp; i++){

System.out.println((int)Math.pow(base, i));

}

}

private static int getDigitFromInput(int min, int max, boolean isBase) {

int value = 0;

String baseOrExp = isBase? " base ": " exponent ";

boolean isValidInput = false;

do{

try {

System.out.println("Please input a digit as" + baseOrExp);

Scanner scanner = new Scanner(System.in);

value = scanner.nextInt();

if(!isBase){

if(value < 0 || value > 3){

System.out.println("Digit should be between 0 and 3 for exponent. Please input again!");

continue;

}

}

isValidInput = true;

} catch (InputMismatchException misMatchExp) {

System.out.println("Invalid data format for" + baseOrExp + ", Please input again!");

}

}while(!isValidInput);

return value;

}

}

----------------

Please input a digit as base

a

Invalid data format for base , Please input again!

Please input a digit as base

12.0

Invalid data format for base , Please input again!

Please input a digit as base

5

Please input a digit as exponent

cde

Invalid data format for exponent , Please input again!

Please input a digit as exponent

7

Digit should be between 0 and 3 for exponent. Please input again!

Please input a digit as exponent

3

1

5

25

125

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼孤者何懼

2021-01-17 14:27

package array;

import javax.swing.JOptionPane;

public class pow {

public static void main(String[] args){

String numString = JOptionPane.showInputDialog("Enter a number:");//对话框中输入数字,输入的格式为字符串类型

int num = Integer.parseInt(numString);//把字符串类型转换成整形

String countString = JOptionPane.showInputDialog("Enter the count:");//同上,输入要进行的幂次

int count = Integer.parseInt(countString);

test(num,count);//调用测试方法

}

public static void test(int m,int c){

int k = 0;

String output = " ";//输出的字符串

while(k <= c){

output += Math.pow(m, k) + " , " ;//依次把m的0-c次幂加到一个字符串上,方便输出

k ++;

}

JOptionPane.showMessageDialog(null, output);//在消息对话框中输出结果

}

}

e6cb1a03ad541b3098697807b7bf1798.png

2楼众里寻春风

2021-01-17 13:35

第一个import java.util.scanner;

public class zhuchengxu {

public static int java;

public static int c;

public static int db;

public static void main(string[] args){

scanner input=new scanner(system.in);

system.out.println("请输入你的java成绩:");

java=input.nextint();

system.out.println("请输入你的c#成绩:");

c=input.nextint();

system.out.println("请输入你的db成绩:");

db=input.nextint();

chengji cj=new chengji();

cj.zhanzong();

cj.zhanping();

}

}

第二个

public class chengji extends zhuchengxu{

@suppresswarnings("static-access")

public int zong(){

int sum=super.java+super.c+super.db;

return sum;

}

public void zhanzong(){

system.out.println("总成绩是"+zong());

}

@suppresswarnings("static-access")

public double avg(){

double avg=(super.java+super.c+super.db)/3;

return avg;

}

public void zhanping(){

system.out.println("平均成绩是"+avg());

}

}是第二个程序接收不了第一个程序里输入的值,只好用继承的概念了。

e6cb1a03ad541b3098697807b7bf1798.png

3楼淡似春风

2021-01-17 12:00

import java.util.Scanner;

public class Test {

public void test(){

Scanner input1 = new Scanner(System.in);//创建系统输入实例系统

int num1 = 0;

//用do while方法可以先赋给num1一个值再判断

do{

System.out.println("请输入第一个数(0-9):");

num1 = input1.nextInt();//获取控制台输入

}while(num1>9||num1<0);//逻辑判断输入是不是0-9,否则调回重输

System.out.println("请输入第二个数:");

int num2 = input1.nextInt();//控制台获取第二个数

//循环输出num2+1次,从0开始

for(int i=0;i<=num2;i++){

System.out.println(Math.pow(num1, i));//调用系统幂次方函数num1的i次方

}

}

public static void main(String[] args) {

Test t = new Test();

t.test();

}

}

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值