- 代数,解一元二次方程
使用代码写出一元二次方程的两个解,提示用户输入a b c的值,用方程判别式b^2-4ac,如果它是正值,该方程就有两个实数根,如果它为零显示一个根,如果他是负数,方程式无实数根。
import java.util.Scanner;
class Equ{
public static void main(String[] args){
Scanner input= new Scanner (System.in);
System.out.print("输入a b c的值:");
double a=input.nextDouble();
double b=input.nextDouble();
double c=input.nextDouble();
double r1=(-b+Math.pow((b*b-4*a*c),0.5))/2*a;
double r2=(-b-Math.pow((b*b-4*a*c),0.5))/2*a;
if (b*b-4*a*c>0)
System.out.print("一元二次方程有两个根是:"+r1+r2);
else if(b*b-4*a*c==0)
System.out.print("一元二次方程只有一个根是"+r1);
else
System.out.print("该方程无实数根");
}
}
- (代教:求解 2x 2 线性方程)可以使用编程练习题丨. 丨 3 中给出的 Cramer 规则解线性方程组: ax+by=e ed-bf af -ec
cx+dy=f ad-be ad-be
编 写 程 序,提 示 用 户 输 入, 然 后 显 示 结 果。如 果ad-bc为 0, 报告消息 方程式无解。
import java.util.Scanner;
class Cramer{
public static void main(String[] args){
Scanner input= new Scanner (System.in);
System.out.print("输入a b c d e f的值:");
double a=input.nextDouble();
double b=input.nextDouble();
double c=input.nextDouble();
double d=input.nextDouble();
double e=input.nextDouble();
double f=input.nextDouble();
double x=(e*d-b*f)/(a*d-b*c);
double y=(a*f-e*c)/(a*d-b*c);
if(a*d-b*c!=0)
System.out.println("x的值是:"+x+" y的值是:"+y);
else
System.out.println("该方程无解");
}
}
- (找到将来的日期)编写一个程序,提示用户输入代表今天日期的数字(周H 为 0, 周一为 1,……, 周六为 6 )。同时,提示用户输入一个今天之后的天数,作为代表将来某天的数字,然后显示这 天是星期几。下面是一个运行示例:
import java.util.Scanner;
class Demo03{
public static void main(String[] args){
Scanner input= new Scanner (System.in);
System.out.print("今天星期");
int today=input.nextInt();
System.out.println("未来的几天:");
int future=input.nextInt();
int futureDay=(today+future)%7;
System.out.print("未来"+future+"天是星期"+futureDay);
}
}
- (回文数字)编写一个程序,提示用户输人一个三位的整数,然后确定它是否回文数字。当从左 到右,以及从右到左都是一样的话,这个数字称为回文数
import java.util.Scanner;
class Demo04{
public static void main(String[] args){
Scanner input= new Scanner (System.in);
System.out.print("输入一个三位数");
int num=input.nextInt();
int sum=0;
int temp=num;
sum=sum*10+num%10;
num/=10;
sum=sum*10+num%10;
num/=10;
sum=sum*10+num%10;
num/=10;
if(sum==temp){
System.out.print("是回文数");
}else{
System.out.print("不是回文数");
}
}
}
- (游戏:彩票)修改程序清单 3-8,产生三位整数的彩票。程序提示用户输入一个三位整数,然 后依照下面的规则判定用户是否贏得奖金:
1)如果用户输人的所有数匹配彩票的确切顺序,奖金是丨 0 000美元。
2)如果用户输人的所有数匹配彩票的所有数字,奖金是 3 000 美元。
3)如果用户输人的其中一个数匹配彩票号码中的一个数,奖金是 1 000美元。
import java.util.Scanner;
class Demo05{
public static void main(String[] args){
Scanner input= new Scanner (System.in);
System.out.print("输入你选择的一个两位数:");
int temp=input.nextInt();
int number=(int)(Math.random()*100);
if (temp ==number)
System.out.print("恭喜获得10000美元的奖金");
else if (number%10==temp/10&&number/10==number%10)
System.out.print("恭喜获得3000美元的奖金");
else if (number%10==temp/10||number/10==temp/10||number%10==temp%10||number%10==temp%10)
System.out.print("恭喜获得1000美元的奖金");
else
System.out.print("很遗憾!你没有中奖");
}
}
``