水仙花数
代码
package com.woniuxy.demo1;
public class Q2 {
public static void main(String [] args) {
int num = 100 , individual , ten , hundred;
System.out.println("水仙花数:");
while(num<=999) {
individual = num % 10;
ten = ( num % 100 - individual ) / 10;
hundred = num / 100;
if(num == Math.pow(individual, 3) + Math.pow(ten,3) + Math.pow(hundred,3)) {
System.out.println(num);
}
num++;
}
}
}
结果展示
遇到的问题及纰漏
新用到的函数
Math
详见基础的math常用方法
次方计算
代码
package com.woniuxy.demo1;
import java.util.Scanner;
public class Q3 {
public static void main(String [] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入底数");
double num = input.nextDouble();
System.out.println("请输入指数(要求输入为整数)");
int exponet = input.nextInt();
double number = 1.0 ;
if(exponet < 0 ) {
for(int i=0 ; i < Math.abs(exponet) ; i++) {
number = number * num;
}
number = 1.0 / number;
}else if(exponet == 0){
number = 1;
}else {
for(int i=0 ; i < exponet ; i++) {
number = number * num;
}
}
System.out.println(num+"的"+exponet+"次="+number);
input.close();
}
}
结果展示
遇到的问题及纰漏
输出遇到问题结果理应为64.36343
抓球问题
代码
注:稍微改了一点题
package com.woniuxy.demo1;
public class Q4 {
public static void main(String [] args) {
int one, two, five;
System.out.println("满足的组合有:");
for(int i = 0; 50-4*i>0; i++) {
one = 3*i;
two = 50-4*i;
five = i;
System.out.println("一元有"+one+"枚,两元有"+two+"枚,五元有"+five+"枚;");
}
System.out.println("end");
}
}
结果展示
遇到的问题及纰漏
暂无
九九乘法表
代码
package com.woniuxy.demo1;
public class Q5 {
public static void main(String [] args) {
int multiply;
for(int i=1; i<=9; i++) {
for(int j=1; j<=i; j++) {
multiply = i*j;
System.out.print(i+"X"+j+"="+multiply+" ");
}
System.out.print("\n");
}
}
}
结果展示
遇到的问题及纰漏
暂无
猜价格
代码
package com.woniuxy.demo1;
import java.util.Scanner;
public class Q6 {
public static void main(String [] args) {
Scanner input = new Scanner(System.in);
System.out.println("声明价格为0~200内的随机一个整数");
int rand_num;
rand_num = (int)(200*Math.random());
//产生一个随机数
int num = -1; //初始化避免初始值与随机数恰好一致
while(num != rand_num) {
System.out.println("请猜一个0~200的价格:");
num = input.nextInt();
if(num >= rand_num) {
System.out.println("您估高价格了");
}else {
System.out.println("您估低价格了");
}
}
input.close();
System.out.println("恭喜您已经猜中价格!价格为:"+num);
}
}
结果展示
遇到的问题及纰漏
暂无
代码升级
package com.woniuxy.class01;
import java.util.Scanner;
import java.util.Random;
import java.util.InputMismatchException;
public class Q6_2 {
public static void main(String [] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
System.out.println("声明价格为0~200内的随机一个整数");
int rand_num = random.nextInt(201);
int num = -1;//初始化避免初始值与随机数恰好一致
int min = 0;
int max = 200;
while(num != rand_num) {
try {
System.out.println("请猜一个"+min+"~"+max+"的价格:");
num = scanner.nextInt();
if(num >= rand_num) {
if(num >= max) {
if(num > 200) {
System.out.println("您输入的价格越界了,最高值为200,请重新输入:");
}else {
System.out.println("您输入的价格高于上次报价的最大值"+max+",请重新输入:");
}
}else {
System.out.println("您估高价格了");
max = num;
}
}else {
if(num <= min) {
if(num < 0) {
System.out.println("您输入的价格越界了,最小值为0,请重新输入:");
}else {
System.out.println("您输入的价格低于上次报价的最小值"+min+",请重新输入:");
}
}else {
System.out.println("您估低价格了");
min = num;
}
}
}catch(InputMismatchException e) {
System.out.println("您输入的价格式不匹配,请重新输入:");
scanner.nextLine();
}
}
scanner.close();
System.out.println("恭喜您已经猜中价格!价格为:"+num);
}
}