java上机考试
java机试题及答案

java机试题及答案Java机试题及答案一、选择题1. 在Java中,用哪个关键字可以定义一个类?A. classB. functionC. methodD. type答案:A2. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _classD. class答案:D3. Java中的main方法必须返回什么类型?A. voidB. intC. StringD. Object答案:A4. 在Java中,哪个类提供了基本的数学运算?A. ng.MathB. java.util.MathC. ng.CalculationD. java.util.Calculation答案:A5. 下列哪个是Java的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D二、简答题1. 请简述Java的垃圾回收机制是什么?答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,以回收不再使用的对象所占用的内存。
垃圾回收器会跟踪每个对象的引用,当一个对象的引用计数为零时,即没有任何引用指向该对象,垃圾回收器就会在下一次运行时将其内存回收。
2. 什么是Java的多态性?答案:Java的多态性是指允许不同类的对象对同一消息做出响应的能力。
在Java中,多态性主要有两种形式:方法重写(运行时多态)和方法重载(编译时多态)。
方法重写是指子类提供一个与父类中具有相同名称和参数的方法,而方法重载是指在同一个类中定义多个同名方法,但参数类型或个数不同。
三、编程题1. 编写一个Java程序,实现计算两个整数的和。
```javapublic class SumCalculator {public static void main(String[] args) {int num1 = 10;int num2 = 20;int sum = addNumbers(num1, num2);System.out.println("The sum is: " + sum);}public static int addNumbers(int a, int b) {return a + b;}}```2. 编写一个Java程序,实现字符串反转。
java上机题目

上机题1. 如果小明的JA V A成绩大于90分,而且音乐成绩也大于80分,奖励他手机一个;或者JA V A成绩等于100分,音乐成绩大于70分,奖励他汽车一部。
2. 通过键盘输入两个数a,b,如果a能被b整除,或者a加b大于1000,则输出a;否则输出b。
3. 如果中了500万,则输出“恭喜”,否则输出“好运”。
4. 模拟银行取钱,如果输入的密码为“123456”,登录成功,提示”可以取钱“,否则提示”密码错误,请重新输入“。
5. 判定输入的年份是否为闰年。
6. 判断一个数是奇数还是偶数。
7. 根据月份判断天数。
8. 输入一个5位数,把每位上的数相加,求和。
9. 某培训机构2006年培训学员8万人,每年增长25%,请问按此增长速度,到哪一年学员人数会达到20万人?10. 用for循环计算1000以内奇数的和。
11. 计算1—100之内的整数和。
12. 求1—10之内的数相加,达到累加值大于20的当前数。
用break。
13. 求1—100内所有偶数的和。
用continue。
1、import java.util.*;public class guo {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("输入小明的java和音乐成绩:");int javascore = input.nextInt();int musicscore = input.nextInt();if(javascore>90&&musicscore>80){System.out.println("奖励你个手机吧!");}Else if(javascore==100&&musicscore>70){System.out.println("奖励你一部汽车吧!");}}}2、import java.util.*;public class lu {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("a和b");int a = input.nextInt();int b = input.nextInt();if(a%b==0&&a+b>100){System.out.println(a);}Else {System.out.println(b);}}}3、import java.util.*;public class fei {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("是否中了五百万?(0/1)");int zhong = input.nextInt();if(zhong==1){System.out.println("恭喜");}Else{System.out.println("好运");}}}4、import java.util.*;public class guo {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("输入小明的java和音乐成绩:");int javascore = input.nextInt();int musicscore = input.nextInt();if(javascore>90&&musicscore>80){System.out.println("奖励你个手机吧!");}Else if(javascore==100&&musicscore>70){System.out.println("奖励你一部汽车吧!");}}}2、import java.util.*;public class lu {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输密码:");int mm = input.nextInt();if(mm==”123456”){System.out.println(“可以取钱”);}Else {System.out.println(“密码错误,请重新输入”);}}}5、import java.util.*;public class lu {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输年份:");int year= input.nextInt();if (year%400 == 0 ||year%4 == 0){System.out.println(“是闰年!”);}Else {System.out.println(“是平年”);}}}6、import java.util.*;public class lu {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输数字");Int num= input.nextInt();if (num%2==0){System.out.println(“是偶数”);}Else {System.out.println(“是奇数”);}}}7、import java.util.*;public class lu {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("请输年月份");Int year =input.nextInt();Int month= input.nextInt();If(month==1||month==3||month==5||month==5||month==7||month==8||month==10||month==12){System.out.println(“是31天!”);}Else If(year%400 == 0 ||year%4 == 0&&month==2){System.out.println(“是29天!”);}Else if (year%400 != 0 &&year%4 != 0&&month==2){System.out.println(“是28天!”);}Else {System.out.println(“是30”);}}}}8、import java.util.*;public class guo {public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.println("输入这个五位数");int num = in.nextInt();System.out.println(num/10000+num%10000/1000+num%10000%1000/100+num%10000%1000 %100/10+num%10000%1000%100%10);}}9、public class lufei{public static void main(String [] args){double time=0;for(double i =80000;i<=200000;i++){time=(i/800000-0.25)}int year =int(2006+time);System.out.println(year+"年学员能达到20万!");}}10、public class lu {public static void main(String[] args) { System.out.println("1000以内的奇数为:"); int k=0;int sum=0;for(int i=1;i<=1000;i++){if (i % 2!=0){System.out.print(i+" ");k++;}{sum = sum+i;}if(k % 10 ==0)System.out.println();}System.out.println("奇数和为:"+sum);}}11、public class lu{public static void main(String [] args){int sum=0;for (int i = 1; i <= 100; i++) {sum+=i;}System.out.println(sum);}}12、Public class fei {Public static void main(String[] args) {int count = 0;for(int i=1;i<=10;i++){count = count +i;if(count>20){break ;}}return i;}}13、public class lufei{public static void main(String [] args){int sum =0;for(int i=0;i<100;i++){if(i%2!=0){continue;}sum+=i;}System.out.println("偶数和”+sum);}}。
java上机考试

}
}
}
上述程序的运行结果是( )
A、3
3
B、3
C、没有般配的3
D、1
标记此题 a
5. class Example5_8
{ public static void main(String args[])
case 3:
System.out.println(x+y);
case 0:
System.out.println(x+y);
break;
default: System.out.println("没有般配的"+(x+y));
标记此题ቤተ መጻሕፍቲ ባይዱa
11. 下列语句片段
int a=10,b=4,c=20,d=6;
System.out.println(a++*b+c*--d);
的结果为()
A、140
B、144
C、不能执行
D、28
标记此题 a
12.
public class TestFun4
C、setComponet()
D、setLocation()
标记此题 a
31. 为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下划线处依次填入的语句是()
public class IntStack{
private int idx=0;
private int[] data=new int[8];
A、BorderLayout
B、BoxLayout
C、FlowLouLayout
D、GridLayout
计算机二级考试JAVA上机考试试题

计算机二级考试JAVA上机考试试题选择题1下面代码段的输出是( )。
if(5 8L7)0&8L5|2)system.out.println("true");A.编译出错B.5752C.trueD.无任何输出参考答案:A参考解析:本题考查对位运算符和逻辑运算符的理解。
位运算符”&”和”|¨用于按位将两个数进行与和或的操作,两个操作数可以是整型、字节型、长整型和短整型,但不能是浮点型数据。
逻辑运算符&&只能对两个布尔型的数据进行运算,返回的结果也是布尔型的。
2在软件开发中,需求分析阶段可以使用的工具是( )。
A.N-S图B.DFD图C.PAD图D.程序流程图参考答案:B参考解析:在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。
3下列叙述中正确的是( )。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间参考答案:A参考解析:顺序存储方式主要用于线性数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。
链式存储结构的存储空间不一定是连续的。
4下列方法被调用后,一定使调用线程改变当前状态的是( )。
A.notify()B.yield()C.sleep()D.isAlive()参考答案:C参考解析:线程调用sleep函数后,使当前线程进入停滞状态。
yield函数可使线程进入可执行状态,排程器从可执行状态的线程中重新排程,调用了yield函数的线程有可能被马上执行,也有可能不会马上执行。
notify函数从线程等待池中移走任意一个线程,并把它放到锁标志等待池中,其状态仍旧是等待。
Java上机操作试题

Java上机操作试题一、Java基础语法1. 请简要描述Java的基本数据类型及其占用的空间大小。
2. 请编写一个Java程序,输出以下的结果:12 23 3 34 4 4 45 5 5 5 5提示:使用循环语句和嵌套循环语句。
3. 请编写一个Java程序,实现以下功能:输入两个整数a和b,输出a和b的和、差、积、商和余数。
4. 请编写一个Java程序,实现以下功能:输入一个正整数n,输出n的所有因子。
提示:可以使用循环语句和判断语句。
二、面向对象编程1. 请简要描述Java中类和对象的概念。
2. 请编写一个Java程序,实现以下功能:设计一个圆类Circle,包含一个double类型的半径属性,以及圆的面积和周长的计算方法。
提示:可以使用Math中的常量和方法。
3. 请编写一个Java程序,实现以下功能:设计一个可爱的小猫类Cat,包含一个String类型的name属性和一个void类型的cry方法,输出“喵喵喵!”。
4. 请编写一个Java程序,实现以下功能:定义一个矩形类Rectangle,包含一个int类型的长和宽属性,以及计算矩形周长和面积的方法。
提示:在构造函数中将长和宽初始化。
三、异常处理1. 请简要描述Java异常处理的基本原理。
2. 请编写一个Java程序,实现以下功能:计算两个整数相除的结果,如果除数为0,抛出异常并输出“除数不能为0!”,否则输出计算结果。
3. 请编写一个Java程序,实现以下功能:设计一个数组类,包含一个int类型的数组属性和一个获取指定位置元素的方法,如果指定位置超出范围,抛出异常并输出“数组下标越界!”,否则输出指定位置元素。
4. 请编写一个Java程序,实现以下功能:模拟登录功能,输入用户名和密码,如果用户名或密码不正确,抛出异常并输出“用户名或密码错误!”,否则输出“登录成功!”。
提示:可以使用字符串的equals方法进行字符串比较。
以上试题侧重测试Java基础语法、面向对象编程以及异常处理的掌握情况。
java期末上机复习题目及其答案

<JAVA上机作业1>3.运行程序,分析并写出程序执行结果public class less1_3 {public static void main(String args[]){boolean x , y , xx , yy;int i = 10, j =10, ii = 10, jj = 10;x = true || (++i >10);y = true &&(++j >10);xx=true | (++ii >10);yy=true &(++jj >10);System.out.println("\n i = " +i+"\t j = "+j);System.out.println("\n x = " +x+"\t y = "+y);System.out.println("\n ii = " +ii+"\t jj = "+jj);System.out.println("\n xx = " +xx+"\t yy = "+yy);} }4.根据注释填空,并写出正确执行结果public class less1_4{ public static void main(String args[ ]){ float fa=102.5f;int ia=3;String sfa , sia , sc;double scd;System.out.println(fa+ia);sfa=Float.toString(fa); //将fa数值转换为字符串;sia= Interger.toString(ia); //将ia数值转换为字符串;sc= sfa+sia; //将字符串sfa和sia连接起来; System.out.println(“sc=”+sc);scd= Double.parseDouble(sc); //将字符串sc转换为数值; System.out.println(scd);} }6.(选做)解释划线语句功能,并写出程序执行结果。
Java考试上机操作题

Java考试上机操作题题目一:数组求和给定一个整数数组,编写一个方法来计算数组中所有元素的总和。
输入一个整数数组。
输出返回数组中所有元素的总和。
示例输入:[1, 2, 3, 4, 5]输出:15代码实现public int sumArray(int[] nums) {int sum = 0;for (int num : nums) {sum += num;}return sum;}题目二:数组平均值给定一个整数数组,编写一个方法来计算数组中所有元素的平均值。
输入一个整数数组。
输出返回数组中所有元素的平均值。
示例输入:[1, 2, 3, 4, 5]输出:3.0代码实现public double averageArray(int[] nums) { int sum = 0;for (int num : nums) {sum += num;}return (double) sum / nums.length;}题目三:查找最大值给定一个整数数组,编写一个方法来查找数组中的最大值。
输入一个整数数组。
输出返回数组中的最大值。
示例输入:[1, 5, 2, 9, 4]输出:9代码实现public int findMax(int[] nums) {int max = Integer.MIN_VALUE;for (int num : nums) {if (num > max) {max = num;}}return max;}以上是三道Java考试上机操作题,分别涉及求和、求平均值和查找最大值的问题。
每道题目都附带了输入、输出示例和代码实现。
通过这些题目的解答,可以帮助考生加深对Java基本语法和数组操作的理解,并提升编程能力。
希望对你有帮助!。
软件开发岗招聘上机实操考试内容

软件开发岗招聘上机实操考试内容编程语言基础示例题目:在Java中,哪个关键字用于定义类的成员变量和方法?A. classB. interfaceC. publicD. static数据结构与算法示例题目:以下哪种排序算法的时间复杂度在平均情况下是O(n log n)?A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序面向对象编程示例题目:在面向对象编程中,封装的主要目的是什么?A. 隐藏对象的属性和行为,仅对外提供接口B. 提高代码的可读性C. 允许对象之间进行通信D. 简化编程过程异常处理示例题目:在Java中,用于声明方法可能抛出的异常的关键字是什么?A. throwsB. throwC. catchD. finally数据库知识示例题目:在SQL中,用于选择表中所有记录的语句是?A. INSERT INTOB. SELECT * FROMC. UPDATED. DELETE FROM计算机网络示例题目:HTTP协议工作在哪一层?A. 物理层B. 数据链路层C. 网络层D. 应用层操作系统示例题目:在操作系统中,进程和线程的主要区别是什么?A. 进程是资源分配的基本单位,线程是CPU调度的基本单位B. 线程是资源分配的基本单位,进程是CPU调度的基本单位C. 进程和线程在资源分配和CPU调度上没有区别D. 进程是用户级的概念,线程是系统级的概念设计模式示例题目:在软件工程中,单例模式的主要目的是什么?A. 确保一个类只有一个实例,并提供一个全局访问点B. 实现对象之间的松耦合C. 允许对象在不改变其内部状态的情况下改变其行为D. 通过组合多个对象来获得新的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.产生n个30以内的随机数,统计并输出1,2,3,各数段的数的个数,并输出数中的最大数和最小数。
package com.zhang;import java.util.Random;import java.util.Scanner;public class Demo1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=0,number;int arr[]=new int[31];int maxNum=0, minNum=0;System.out.println("请输入要产生的随机数的个数n:");n=sc.nextInt();for (int i = 0; i < n; i++) {Random r=new Random();int num=r.nextInt(31);arr[num]++;if(i==0){maxNum=minNum=num;}if(i>0){if(num>maxNum){maxNum=num;}if(num<minNum){minNum=num;}}}for (int i = 0; i < 31; i++) {System.out.println(i+"出现了"+arr[i]+"次");}System.out.println("产生的最大数是:"+maxNum);System.out.println("产生的最小数是:"+minNum);}}2定义一个接口,接口中有四个抽象方法:求面积方法、求周长方法、显示面积方法及显示周长方法。
定义Circle类和Rectangle类分别实现接口,在主类中实现显示圆和矩形的面积和周长。
package com.zhang;public interface Tuxing {public abstract void setArea();public abstract void setGrith();public abstract double getArea();public abstract double getGrith();}package com.zhang;public class Cricle implements Tuxing {double r, grith, area;// r表示半径.grith是周长,area是面积public Cricle(double r) {this.r = r;}@Overridepublic void setArea() {// TODO Auto-generated method stubarea=Math.PI*r*r;}@Overridepublic void setGrith() {// TODO Auto-generated method stubgrith=2*r*Math.PI;}@Overridepublic double getArea() {// TODO Auto-generated method stubreturn area;}@Overridepublic double getGrith() {// TODO Auto-generated method stubreturn grith;}}package com.zhang;public class Rectangle implements Tuxing { double height, width;double grith, area;public Rectangle(double height, double width) { this.height = height;this.width = width;}@Overridepublic void setArea() {// TODO Auto-generated method stubarea=height*width;}@Overridepublic void setGrith() {// TODO Auto-generated method stubgrith=2*(height+width);}@Overridepublic double getArea() {// TODO Auto-generated method stubreturn area;}@Overridepublic double getGrith() {// TODO Auto-generated method stubreturn grith;}}package com.zhang;public class CeShi {public static void main(String[] args) {Cricle cricle=new Cricle(2);Rectangle rectangle=new Rectangle(2, 2);cricle.setArea();cricle.setGrith();rectangle.setArea();rectangle.setGrith();System.out.println("圆的面积是"+cricle.getArea());System.out.println("圆的周长是"+cricle.getGrith());System.out.println("矩形的面积是"+rectangle.getArea());System.out.println("矩形的周长是"+rectangle.getGrith());}}3用户在两个输入框中分别输入两个整数,单击“求积”按钮,在第三个输入框中显示两数中的积,单击“求和”按钮,在第四个输入框中显示两数的和。
package com.zhang;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class Demo3 extends JFrame {JTextField tf1, tf2, tf3, tf4;public Demo3() {// TODO Auto-generated constructor stubsuper();setTitle("简单的计算GUI");setSize(250, 180);JPanel panel = new JPanel(new GridLayout(0, 2));JLabel label1 = new JLabel("第一个整数:");panel.add(label1);tf1 = new JTextField();panel.add(tf1);JLabel label2 = new JLabel("第二个整数:");panel.add(label2);tf2 = new JTextField();panel.add(tf2);JLabel label3 = new JLabel("积的结果:");panel.add(label3);tf3 = new JTextField();panel.add(tf3);JLabel label4 = new JLabel("和的结果:");panel.add(label4);tf4 = new JTextField();panel.add(tf4);getContentPane().add(panel, BorderLayout.NORTH);JPanel panel2 = new JPanel();JButton bu1 = new JButton("求积");bu1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubint ji = Integer.parseInt(tf1.getText().trim())* Integer.parseInt(tf2.getText().trim());tf3.setText(ji+"");}});panel2.add(bu1);JButton bu2 = new JButton("求和");bu2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubint he = Integer.parseInt(tf1.getText().trim())+ Integer.parseInt(tf2.getText().trim());tf4.setText(he+"");}});panel2.add(bu2);getContentPane().add(panel2, BorderLayout.SOUTH);setVisible(true);}public static void main(String[] args) {new Demo3();}}效果:4设计一个下拉式菜单和弹出式菜单,菜单标题为:设置窗体背景色。
菜单中包含4个选项:红色、绿色、蓝色、退出,快捷键如下图所示,并在“蓝色”与“退出”选项间加一条分隔线。
给菜单项注册事件监听器并完成相应的功能。
package com.zhang;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.JTextArea;import javax.swing.KeyStroke;public class Demo4 extends JFrame implements ActionListener {JMenuBar menubar;JMenu menu;JMenuItem Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8;JPopupMenu popmenu;JTextArea textarea;public Demo4() {// TODO Auto-generated constructor stubsuper();setTitle("菜单例子");setSize(300, 200);menubar = new JMenuBar();setJMenuBar(menubar);menu = new JMenu("菜单");menubar.add(menu);Item1 = new JMenuItem("红色");Item1.setMnemonic(KeyEvent.VK_R);Item1.setAccelerator(KeyStroke.getKeyStroke('R', 2));// ctrl+r快捷键menu.add(Item1);Item2 = new JMenuItem("绿色");Item2.setMnemonic(KeyEvent.VK_G);Item2.setAccelerator(KeyStroke.getKeyStroke('G', 2));// ctrl+g快捷键menu.add(Item2);Item3 = new JMenuItem("蓝色");Item3.setMnemonic(KeyEvent.VK_B);Item3.setAccelerator(KeyStroke.getKeyStroke('B', 2));// ctrl+b快捷键menu.add(Item3);Item4 = new JMenuItem("退出");Item4.setMnemonic(KeyEvent.VK_E);Item4.setAccelerator(KeyStroke.getKeyStroke('E', 2));// ctrl+e快捷键menu.addSeparator();menu.add(Item4);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);// 创建文本区的菜单项Item5 = new JMenuItem("红色");Item6 = new JMenuItem("绿色");Item7 = new JMenuItem("蓝色");Item8 = new JMenuItem("退出");// 在文本区添加右键菜单textarea = new JTextArea();getContentPane().add(textarea);popmenu = new JPopupMenu();textarea.add(popmenu);textarea.addMouseListener(new MouseAdapter() {@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubif (e.getModifiers() == MouseEvent.BUTTON3_MASK) { popmenu.show(textarea, e.getX(), e.getY());}}});// 添加菜单项到右键菜单popmenu.add(Item5);popmenu.add(Item6);popmenu.add(Item7);popmenu.add(Item8);// 添加动作事件监听器Item5.addActionListener(this);Item6.addActionListener(this);Item7.addActionListener(this);Item8.addActionListener(this);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif (e.getSource() == Item1) {textarea.setBackground(Color.red);}if (e.getSource() == Item2) {textarea.setBackground(Color.green);}if (e.getSource() == Item3) {textarea.setBackground(Color.blue);}if (e.getSource() == Item4) {System.exit(0);}if (e.getSource() == Item5) {textarea.setBackground(Color.red);}if (e.getSource() == Item6) {textarea.setBackground(Color.green);}if (e.getSource() == Item7) {textarea.setBackground(Color.blue);}if (e.getSource() == Item8) {System.exit(0);}}public static void main(String[] args) {new Demo4();}}效果:5构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一个方法打印当前点的坐标。