1.求解以下四种图案
图案1
解题思路:
解决此类题的基本思路,就是先循环行,再循环一行中的数字或者空格
图案1代码
class Home15a{
public static void main(String[] args){
for(int i=1;i<=7;i++){ //对每一行进行循环
for(int k=1;k<=i-1;k++){ //求解每一行的数字
System.out.print(k);
}
System.out.println(); //换行
}
}
}
图案2代码
class Home15b{
public static void main(String[] args){
for(int i=1;i<=7;i++){
for(int j=1;j<=7-i;j++){
System.out.print(j);
}
System.out.println();
}
}
}
图案3代码
class Home15c{
public static void main(String[] args){
for(int i=1;i<=7;i++){
for(int j=1;j<=7-i;j++){
System.out.print(" ");
}
for(int k=1;k<=i-1;k++){
System.out.print(k);
}
System.out.println();
}
}
}
图案4代码
class Home15d{
public static void main(String[] args){
for(int i=1;i<=7;i++){
for(int j=1;j<=i-1;j++){
System.out.print(" ");
}
for(int k=1;k<=6 && k+i<=7;k++){
System.out.print(k);
}
System.out.println();
}
}
}
2.彩票游戏
解题思路:
先输入数字,并判断是符合规范,然后用if-else进行选择
import java.util.Random; //导入产生随机数的包
import java.util.Scanner;
class class05{
public static void main(String[] args){
Random random=new Random(); //产生一个随机数
Scanner sc=new Scanner(System.in);
int comNumber=random.nextInt(90)+10;
System.out.print("请输入一个两位数:"); //提示用户输入一个函数
int userNumber = scanner.nextInt();
if(userNumber<10||userNumber>99){
System.out.println("输入错误!程序结束。");//判断输入的数字的范围
return;
}
int comNumberA=comNumber/10; //将输入的数字分开
int comNumberB=comNumber/10;
int userNumberA=userNumber/10;
int userNumberB=userNumber/10;
if(comNumber==userNumber){ //判断所的奖的类型
System.out.println("一等奖");
}else if(comNumberA==userNumberA && comNumberB==userNumberB){
System.out.println("二等奖");
}else if(comNumberA==userNumberA || comNumberB==userNumberB){
System.out.println("三等奖");
}else{
System.out.println("谢谢惠顾");
}
}
}
3.求一元二次方程
import java.util.Scanner;
class class06{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入a,b,c"); //提示用户输入三个数字
double a=scanner.nextDouble();
double b=scanner.nextDouble();
double c=scanner.nextDouble();
//计算判别式的值
double delt=b*b-4*a*c;
//根据判别式的值进行分类
if(delt>0){
double x1=(-b+Math.sqrt(delt))/(2*a); //有两个实数解
double x2=(-b-Math.sqrt(delt))/(2*a);
System.out.println(x1+","+x2);
}else if(delt==0){
double x=(-b+Math.sqrt(delt))/(2*a); //只有一个实数解
System.out.println(x);
}else{
System.out.println("无实数解");
}
}
}
4.判断输入的数是否是回文数字
/*
数据:数字
步骤;
1.提示用户输入一个三位的数字userNumber
2.将该利用取余数字拆分
3.将第一个数字和最后一个数字对比
3.如果相同则输出是,反之为否
*/
import java.util.Scanner;
class class07{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a three-digit integer:");
int digit = sc.nextInt();
//对数字进行取余
int fristdigit = digit/100;
int thirddifit = digit%10;
//对数字进行比较
if(fristdigit==thirddifit){
System.out.println(digit+" is a palindrome");
}else{
System.out.println(digit+" is not a palindrome");
}
}
}
5.判断是否在圆圈内
/*
数据:坐标(x,y)
步骤:
1.提示用户输入坐标的x值和y值
2.将x,y值代入公式,得到一个结果值r
3.判断r的值与10的关系
4.将判断的结果输出
*/
import java.util.Scanner;
class class09{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入坐标的x和y的值");
//定义x,y,r
double x=scanner.nextDouble();
double y=scanner.nextDouble();
double r= Math.sqrt((x*x)+(y*y));
//判断r与10的关系
if(r<10 || r==10){
System.out.println("在圆圈内");
}else{
System.out.println("不在圆圈内");
}
}
}
6.
解释思路及其代码
/*
数据:坐标(x,y)
步骤:
1.提示用户输入坐标的值
2.判断x y所在区间
3.若满足则将y(200-x)与 0.5判断,否则输出不在
4.将判断的结果输出
*/
import java.util.Scanner;
class class10{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.print("输入坐标");
double x=sc.nextDouble();
double y=sc.nextDouble();
//判断x y的区间
if(x<0||x>200||y<0||y>100){
System.out.println("不在");
return;
}
double k=y/(200-x);
if(k>0.5){
System.out.println("不在");
}else{
System.out.println("在");
}
}
}
7.汇率转换
import java.util.Scanner;
class class11{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
//输入美元到人民币之间的汇率
System.out.print("Enter the exchange rate from dollars to RMB:");
double rate = scanner.nextDouble();
//输入要转换的形式
System.out.println("Enter 0 to convert dollers to RMB and 1 vice versa:");
int convert = scanner.nextInt();
//判断形式
if(convert==1){
System.out.println("Enter the RMB amount:");//计算和输出人民币的价值
double RMB=scanner.nextDouble();
double RzD=RMB/rate;
System.out.println(RMB+"yuan is"+RzD+"dollar");
}else{
System.out.println("Enter the dollar amount:");//计算和输出美元的价值
double dollar=scanner.nextDouble();
double DzR=dollar*rate;
System.out.println(dollar+"dollar is "+DzR+"yuan");
}
}
}