Eclipse
创新互联建站企业建站,十多年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都网站制作、网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
会对
API
中对应的已过时的方法,进行划线标示。
以提醒,此方法已过时。
在对应的版本的
API
中,则会标明
toLocaleString()
已过时。
从
JDK
1.1
开始,由
DateFormat.format(Date
date)
取代。
但我们在编译后,
任然
可以正常运行。
建议采用新的方法取代已过时的方法。
您好,没太明白您的意思,如果是上面这串固定的字符串的话您是想要怎么循环?
这个表示已经过时的方法,类或者字段等等,没事可以继续使用,不影响的
String str = "201509";
String ret = str.substring(0,4)+"-"+str.substring(4,6);
第一题,x和n从命令行作为参数输入:
public class Test1{
public static void main(String[] args){
int argLen = args.length;
//判断是否至少传入了两个参数
if (argLen 2){
System.out.println("请输入两个整型参数");
return;
}
int x = 0;
int n = 0;
//转换传递进来的参数,如果输入的参数不合法,不能转换为int型,则Integer.parseInt方法会抛出NumberFormatException异常
try{
x = Integer.parseInt(args[0]);
n = Integer.parseInt(args[1]);
}
catch(NumberFormatException e)
{
System.out.println("输入的参数不是整数");
System.exit(1);
}
//判断x和n的值是否是正数
if (x=0 || n=0)
{
System.out.println("不能输入负值或0,请输入两个正整数");
System.exit(1);
}
//打印转换后的x和n
System.out.println("你输入的x和n分别为: " + x + ", " + n);
/*
y=1+x/1+x*x*x/3+......+x^n/n
根据公式计算结果。由于公式中y增长的很快,所以我们定义一个double型的变量存储结果的值。但仍然很有可能溢出。必要的话可以使用math包中的类来进行任意长度和精度的处理,但这里就不麻烦了。
*/
double y = 1.0;
for (int i=1; i=n; i+=2)
{
y += Math.pow(x, i)/(double)i;
}
//打印结果
System.out.println("根据公式y=1+x/1+x*x*x/3+......+x^n/n所计算出的结果为: " + y);
} // main()
} /* Test1 */
第二题,需要的test11.html文件内容如下:
html
head
titleTest11 demo/title
/head
body
applet width="300" height="400" code="Test11.class"/applet
/body
/html
然后使用appletviewer test11.html浏览小应用程序(在浏览器中可能不能正常运行)。
java代码如下:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Label;
public class Test11 extends Applet{
//定义文字所在位置与顶部的距离
private int posY = 200;
private Label textsLabel = new Label("我猜你将看到这句话一直在滚动");
public void init()
{
textsLabel.setBounds(50, 200, 200, 30);
this.add(textsLabel);
//启动新线程
SecThread st = new SecThread();
st.start();
} // init()
public void paint(Graphics g){
super.paint(g);
} //paint()
//定义一个内部类,以启动一个新的线程
private class SecThread extends Thread{
public void run()
{
while(true){
//让当前线程休眠50毫秒,注意sleep方法会抛出InterruptedException异常
try{
Thread.sleep(50);
}
catch(InterruptedException e){
System.out.println("执行过程中出错");
System.exit(1);
}
//设置文字的新位置
posY -= 5;
//判断是否小于0(即已经到达顶部),如果小于0则重置为400
posY = (posY=0?400:posY);
textsLabel.setBounds(50, posY, 200, 30);
Test11.this.repaint();
}
}
}
} /* Test2 */
3, 4两题实在很简单,略过了。
找到你的帖子了!
将3,和4也写一下:
3.运行方法看2:
import java.applet.Applet;
import java.awt.Graphics;
public class Test111 extends Applet
{
public void paint(Graphics g)
{
for (int i=1; i=10; i++) //画横线
{
g.drawLine(20, i*20, 200, i*20);
}
for (int j=1; j=10; j++) //画竖线
{
g.drawLine(j*20, 20, j*20, 200);
}
}
}
4. 代码如下:(你说已经写好的程序怎么改成applet。记住一点,applet在运行时自动调用init、start和paint方法,而通常的应用程序调用main方法。只要将main方法中的内容妥善地移到这三个方法中就可以了。但修改的时候要注意,不要引入错误。)
//任意输入三个数,可以有小数,然后比较它们的大小
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Button;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
public class Test1111 extends Applet
{
public void paint(Graphics g)
{
this.setLayout(null);
Button btn = new Button("开始输入");
btn.setBounds(100, 130, 100, 30);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
sort();
}
});
this.add(btn);
}
private void sort()
{
//3个元素的字符串数组,存放输入的数
String[] numberStrs = new String[3];
for (int i=0; inumberStrs.length; i++)
{
//如果输入时按了取消按钮,则继续提示输入
while(numberStrs[i] == null)
{
numberStrs[i] = JOptionPane.showInputDialog("请输入第 " + (i+1) + " 个数");
}
}
//定义3个元素的double型数组,存放转换后的值
double[] numbers = new double[3];
try
{
for (int j=0; jnumbers.length; j++)
{
numbers[j] = Double.parseDouble(numberStrs[j]);
}
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null, "输入的不是数字!"
, "ERROR", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
String result = "";
result += "你输入的数字为: ";
for (int k=0; knumbers.length-1; k++)
{
result += numbers[k] + ", ";
}
result += numbers[numbers.length-1] + "\n";
//简单点,使用冒泡排序
for (int i=1; inumbers.length; i++)
{
for (int j=0; jnumbers.length-1; j++)
{
if (numbers[j] numbers[j+1])
{
double temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
result += "排序后的数字为: ";
for (int k=0; knumbers.length-1; k++)
{
result += numbers[k] + ", ";
}
result += numbers[numbers.length-1];
//输出结果
JOptionPane.showMessageDialog(null, result, "Result", JOptionPane.PLAIN_MESSAGE);
}
}
在父类中定义了相同签名的方法(签名:方法名称,输入的参数)
在子类中只能复写,而不能重新定义
所以方法public A foo()已经在A中定义了,所以只能覆写,所谓的覆写:只是重写方法体,像B的的做法一样。
A: 对方法foo()进行了重新定义,(把返回类型改变了)所以错误
B:同上,返回类型重新定义为int了
C:正确,因为这里重新定义了一个方法(名称+输入的参数)签名和父类中的不一样。
D:类名不能直接返回使用,返回的必须是一个对象。