急求程序,下面是题目。
一、从键盘输入x,根据以下情形求y的值:
y=0; 当x≤0时
y=2x+1; 当0<x<5时
y=X2-1; 当x≥5时
注意:利用System.in.read()从键盘读一个字符。
二、设有一元二次方程如下:
aX2+bx+c=0
试根据从键盘输入的a,b,c求解方程的根。
【提示】要考虑各种情形:一是a为0的情形,方程根为-c/b。还有就是根据判别式
Δ=b2 - 4ac进行判断,如果Δ.>0有两个实根;Δ=0,有一个实根;Δ<0,无实数解。
另外,求x的平方根可用Math.sqrt(x)方法。
import java.io.*;
import java.util.*;
class test
{
public static void main(String[] args) throws IOException
{
int x=System.in.read()-'0';
int y=0;
if(x<=0) //输出
{
System.out.println("y=0");
}
else if(x>=5)
{
System.out.println("y="+(x*2-1));
}
else
{
System.out.println("y="+(2*x+1));
}
}
}
import java.io.*;
import java.util.*;
public class Time{
//用way方法实现函数的分类输出
public void way(int can){
int y;
System.out.println(can);
if(can<=0)
System.out.println("y=0");
else if(can<5)
System.out.println("y= "+(2*can+1));
else
System.out.println("y= "+(2*can-1));
}
public static void main(String args[]){
//try用来捕获异常
try{
//用read输入,注意这里输入的都是字符,所以后面要Integer成ing型
int num = System.in.read();
char c = (char)num;
int can = Integer.parseInt(String.valueOf(c));
//创建Time类的对象,调用它的way方法,让其输出y的值
Time newTime = new Time();
newTime.way(can);
}catch(IOException e){
System.out.println("出错啦!");
}
}
}
我觉得用System.in.read()是不是太麻烦了,用Scanner包把
import java.util.Scanner;
public class Test
{
Scanner sca=new Scanner(System.in);
public Test()
{
System.out.print("请输入一个数:");
int x=sca.nextInt();
if(x<=0)
{
System.out.println("y=0");
}elseif(x>0&&x<5)
{
System.out.println("y="+2*x+1);
}else if(x>=5)
{
System.out.pringln("y="+2*x-1);
}
}
public static void main(String [] args)
{
new Test();
}
}
import java.lang.Integer;
import java.io.*;
public class Testswtch{
public static void main(String[] args)throws IOException{
// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = System.in.read();
// System.out.println(a);
char c = (char)a;
System.out.println(c);
int x = Integer.parseInt(String.valueOf(c));
int y = 0;
System.out.println(x);
if(x <= 0){
y = 0;
}else if(x > 5){
y = 2 * x + 1;
}else {
y = 2 * x - 1;
}
System.out.println(y);
}
}