刚才在网上看到一个Java程序,编译显示:使用或覆盖了已过时的API,如何解决?

本人新手,暂时等于一问3不知的!

这个只是警告而已,一样还是可以用。
这个警告的意思是,DataInputStream类的readLine()方法已经过时,不推荐使用了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-10
你安装的jdk是最新版本吧?这些只是警告而已,编译照样还是成功的,运行也不会有问题的。
第2个回答  2013-11-10
import java.io.*;
public class Complex {
public double real;
public double imag;
public Complex()
{
}
public Complex(double realNum,double imagNum)
{
this.real=realNum;
this.imag=imagNum;
} public String toString(Complex complex)
{
if(complex.real==0.0)
{
if(complex.imag==0.0)
{
return " 0";
}
else
{
return (complex.imag+"i");
}
}
else
{
if((complex.imag)>0.0)
{
return (complex.real+"+"+complex.imag+"i");
}
else if((complex.imag)==0.0)
{
return (" "+complex.real);
}
else
{
return (complex.real+""+complex.imag+"i");//小心会相加的用""隔开
}
}
//return (complex.real+"+"+complex.imag+"i");
}
public Complex AddComplex(Complex x1,Complex x2)
{
Complex result=new Complex();
result.real=x1.real+x2.real;
result.imag=x1.imag+x2.imag;
return result;
}
public Complex SubComplex(Complex x1,Complex x2)
{
Complex result=new Complex();
result.real=x1.real-x2.real;
result.imag=x1.imag-x2.imag;
return result;
}
public Complex MulComplex(Complex x1,Complex x2)
{
Complex result=new Complex();
result.real=x1.real*x2.real-x1.imag*x2.imag;
result.imag=x1.imag*x2.real+x1.real*x2.imag;
return result;
} public Complex DivComplex(Complex x1,Complex x2)
{
Complex result=new Complex();
result.real=(x1.real*x2.real+x1.imag*x2.imag)/(x2.real*x2.real+x2.imag*x2.imag);
result.imag=(x1.imag*x2.real-x1.real*x2.imag)/(x2.real*x2.real+x2.imag*x2.imag);
return result;
}
//测试上述运算方法
public static void main(String[] args) throws IOException
{ System.out.print(" 请输入第一个复数:a+bi(a和b均为实数)\n a = " );
BufferedReader dis1=new BufferedReader(new InputStreamReader(System.in));
double e=Double.parseDouble(dis1.readLine());
//System.out.println("Output Integer: "+e); //测试用的System.out.print(" b = " );
BufferedReader dis2=new BufferedReader(new InputStreamReader(System.in));
double f=Double.parseDouble(dis2.readLine());
//System.out.println("Output Integer: "+f); //测试用的System.out.print(" 请输入第二个复数:c+di(c和d均为实数)\n c = " );
BufferedReader dis3=new BufferedReader(new InputStreamReader(System.in));
double g=Double.parseDouble(dis3.readLine());
//System.out.println("Output Integer: "+g); //测试用的System.out.print(" d = " );
BufferedReader dis4=new BufferedReader(new InputStreamReader(System.in));
double h=Double.parseDouble(dis4.readLine());
//System.out.println("Output Integer: "+h); //测试用的 Complex x1=new Complex(e,f);
Complex x2=new Complex(g,h);
//加法测试
Complex y1=new Complex().AddComplex(x1,x2);//减法测试
Complex y2=new Complex().SubComplex(x1,x2);//乘法测试
Complex y3=new Complex().MulComplex(x1,x2); //除法测试
Complex y4=new Complex().DivComplex(x1,x2);
//此处用的输出显示格式是(a+bi)+(c+di)=.............
System.out.println("("+new Complex().toString(x1)+")"+"+"
+"("+new Complex().toString(x2)+")"+"="
+new Complex().toString(y1));System.out.println("("+new Complex().toString(x1)+")"+"-"
+"("+new Complex().toString(x2)+")"+"="
+new Complex().toString(y2));System.out.println("("+new Complex().toString(x1)+")"+"*"
+"("+new Complex().toString(x2)+")"+"="
+new Complex().toString(y3));System.out.println("("+new Complex().toString(x1)+")"+"/"
+"("+new Complex().toString(x2)+")"+"="
+new Complex().toString(y4));}}

java:使用或覆盖了已过时的 API,使用了未经检查或不安全的操作
解决使用或覆盖已过时API的问题,可以通过在类或方法上添加`@SuppressWarnings`注解来实现。例如,如果某个API已经被标记为过时,你可以在使用该API的类或方法上添加`@SuppressWarnings("Deprecation")`注解。这将告诉编译器忽略该警告,但同时也提醒开发者注意API的过时状态。对于具体问题,例如在处理JSON数...

文件使用或覆盖了已过时的 API
1.在在Module的build.gradle中,android节点下,配置如下信息:2.编译后会提醒显示错误 过期API有如下几种情况:

刚才在网上看到一个Java程序,编译显示:使用或覆盖了已过时的API,如何...
这个只是警告而已,一样还是可以用。这个警告的意思是,DataInputStream类的readLine()方法已经过时,不推荐使用了。

android出现注: 某些输入文件使用或覆盖了已过时API
“已过时的 API”提示意味着代码中使用了已废弃的 API。要解决此问题,需使用 -Xlint:deprecation 参数重新编译代码。这将帮助开发者发现并替换过时的 API,以避免潜在的兼容性问题。“未经检查或不安全的操作”则表明代码中存在可能引发安全风险的操作,如 null 指针异常、空指针解引用等。为解决此问题...

java编译时提示:使用或覆盖了已过时的API
我的JDK是1.5,在JCreator上运行,提示错误信息是:……使用或覆盖了已过时的API。请问如何解决呢?谢谢了原来的代码如下:import java.awt.* import javax.swing.*; class HelloButton { public static void main (String[] args) { JFrame frame ... 展开 oa...

运行java程序说使用或覆盖了已过时的APT,使用-Xlint:deprecation重新编译...
辨别过时API方法:一是看API文档中是不是明确说了是已过时的,或者看JDK源代码中标注@Deprecated 的。如果你使用Eclipse进行开发那就更简单了,当你使用过时的方法或类时,Eclipse会自动给该方法加上删除线,很显眼的。这类方法只是不推荐使用,并不是不能使用,如果能找到更好的替代方法的话还是不用这...

JAVA使用或覆盖了已过时的 API
过时的API你可以到JDK的API文档去查询,过时的一般用删除线划掉的。过时的API一般都有另外的API来代替,具体用什么代替由于没有确切的例子,需要你自己去API文档去查。由四方面组成:(1)Java编程语言。(2)Java类文件格式。(3)Java虚拟机。(4)Java应用程序接口。

...java 使用或覆盖了已过时的 API的错误”为什么??
这个只是一个警告而已,jdk是向下兼容的, 解决方法1,直接在myeclipse里面运行。 解决方法2, 1。在cmd下编译,javac Dert.java 2. 写一个网页如下: 只有这一句就可以了,然后保存为:任意名字.html 文件,然后双击网页就可以了。

java 使用或覆盖了已过时的 API,要了解详细信息,请使用 -Xlint:deprec...
要移值到其它计算机的程序必须要解决这个问题。这些过时的方法在JDK的更高版本中,绝对大多数提供了替换方法,少部分是要放弃了。想改好程序,就要找到能够替代的方法,来修改代码。能替代的方法查阅API文档就能看到,在方法目录中,过时的方法有“已过时”的说明,在方法明细里能看到被哪个方法代替了。

Sort.java 使用或覆盖了已过的API 要了解详细信息,请使用 -Xint:depreca...
你的代码中调用了被声明过时(也就是说将来可能不受支持的)的方法,可以编译时加上 -Xint:deprecation 参数,查看哪里调用了过时的方法,再改为其他等价的调用就可以了

相似回答