某公司招聘时的俩道上机试题,不要思路,要代码,测试后给分。

SIOSXIAOQIANG 2009-11-27 06:24:07
问题一:程序题
a.已知一个数组,编程实现:但当用户输入n,则输出比n大的数以及该数在数组中的位置。(从0开始)
问题二:数据结构与算法
a.北京地铁地图。已知俩条线路交汇处的终点外,可以知道邻近的地铁运行时间,间隔时间,设计一种数据结构。编程实现,
1.从一站点到另一站点的所有线路。
2.从一站点到另一站点的时间最短线路。

...全文
386 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
测试结果:
请输入你要确定的数组的大小(请输入整数)
5
请输入需要比较的数(用空格分隔,回车结束输入)
5 4 3 2 1
1
2
3
4
5
请输入需要比较的数
3
比3大的数4在第4位置
比3大的数5在第5位置
  • 打赏
  • 举报
回复
package com.insigma.fzsxjava.test.xbdx.qiangbaojun;

import java.util.Scanner;

public class paixuchazhao {


public static void main(String[] args) {
System.out.println("请输入你要确定的数组的大小(请输入整数)");
Scanner sc =new Scanner(System.in);
int size = sc.nextInt();
int[] dec = new int [size];
System.out.println("请输入需要比较的数(用空格分隔,回车结束输入)");
for(int i=0;i<dec.length;i++){
dec[i] = sc.nextInt();
}
for(int j=0;j<dec.length;j++){

for(int k=j+1;k<dec.length;k++){

if(dec[j]>dec[k]){
int ll = dec[j];
dec[j] = dec[k];
dec[k] = ll;
}
}
}
for(int p=0;p<dec.length;p++){
System.out.println(dec[p]);
}
System.out.println("请输入需要比较的数");
int demo = sc.nextInt();
for(int q=0;q<dec.length;q++){
if(dec[q]>demo){
System.out.println("比"+demo+"大的数"+dec[q]+"在第"+(q+1)+"位置");
}
}

}


}


学习中!!!!!!!!!
lgm277531070 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 siosxiaoqiang 的回复:]
引用 3 楼 intasectylc 的回复:
是输出n在数组中的位置还是输出大于n得数在数组的位置??

是输出n在数组中的位置,
例如,我输入:{22,45,67,21,0,9,11,24,33,44},
当我输入n=11的时候,
则输出:21,22,24,33,44,45,67
您输入的n的位置为:第2个位置。
同上,输入其它数也可以。

[/Quote]

汗 你这n不是排序好了的位置么 ...
lgm277531070 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 siosxiaoqiang 的回复:]
首先感谢你回复我的提问,但是我毫不客气的告诉你,我就是这么做的代码;之后我问了招聘人员,他告诉我,我做的是错误的。他给我的回答是,这组数组是我输入的随机数组,并且是没有顺序的;还有请你仔细看下题目,是输出比n大的所有数。
做题思路,1,建立数组,排序,输入n,比较n,输出比n大的数,输出n所在数组的位置。
[/Quote]

楼主已经结贴了 现在才记起我回过这个帖子额

我这么写个固定的数组也是为了方便,如果主考官硬是是说我做错了要做随机的那相当无语了
不过先进行排序在直接输出后面的倒是比我那个好 呵呵 当时没想到用排序
bawgiitx 2009-11-29
  • 打赏
  • 举报
回复

/*终于回完
*/

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
//timedata(String name, int v, int h, int m, int s, int eh, int em)
// if(((javax.swing.DefaultListModel) jList2.getModel()).contains(jTextField3.getText().trim())){
// throw new EOFException("车号重复");
// }
timedata t = new timedata(jTextField3.getText(), Integer.valueOf(jTextField9.getText().trim()),
Integer.valueOf(jComboBox1.getSelectedItem().toString()), Integer.valueOf(jComboBox2.getSelectedItem().toString()),
Integer.valueOf(jTextField8.getText().trim()),
Integer.valueOf(jComboBox3.getSelectedItem().toString()), Integer.valueOf(jComboBox4.getSelectedItem().toString()));

Point p1 = new Point(jTextField10.getText().trim());
Point p2 = new Point(jTextField11.getText().trim());
if (!m.getPoints().contains(p1)) {
m.getPoints().add(p1);
((javax.swing.DefaultListModel) jList1.getModel()).addElement(p1.name);
}
if (!m.getPoints().contains(p2)) {
m.getPoints().add(p2);
((javax.swing.DefaultListModel) jList1.getModel()).addElement(p2.name);
}
Line l = new Line(p1, p2, t);
/////////
if (m.getLines().contains(l)) {
return;
}
m.getLines().add(l);
((javax.swing.DefaultListModel) jList2.getModel()).addElement(l.toString());
} catch (EOFException ex) {
System.out.println("输入时间不合法或二站点相同!");
}
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (jTextField2.getText().trim().equals("") || jTextField12.getText().trim().equals("")) {
System.out.println("站点不能为空");
return;
}
if (jTextField2.getText().trim().equals(jTextField12.getText().trim())) {
System.out.println("出发点和终点不能相同");
return;
}
String str = "";
if (m.getPoints().contains(jTextField2.getText().trim()) && m.getPoints().contains(jTextField12.getText().trim())) {
java.util.Vector<java.util.Vector<Point>> ps = m.getPathAll(new Point(jTextField2.getText().trim()), new Point(jTextField12.getText().trim()));
if (ps == null) {
jTextArea1.setText("起点不能到达终点");
} else {
str = "一共找到" + ps.size() + "条路径\n";
System.out.print("" + str);
Path mip = (Path) m.getPath(new Point(jTextField2.getText().trim()), new Point(jTextField12.getText().trim()));
System.out.println("最短路径是:");
System.out.println("总时间(权值):" + mip.sum);
str += "最短路径是:\n总时间(权值):" + mip.sum + "\n";
for (int i = 0, im = mip.size(); i < im; i++) {
Point p = (Point) mip.get(i);
System.out.print("" + p.name + "(" + p.bffer + ")");
str += p.name + "(" + p.bffer + ")";
if (i < im - 1) {
System.out.print("->");
str += "->";
}
}
str += "\n";
for (int k = 0, km = ps.size(); k < km; k++) {
if (!(ps.get(k) instanceof Path)) {
return;
}
Path<Point> pt = (Path) ps.get(k);
System.out.println("路径"+k+":");
str+="路径"+k+":\n";
System.out.println("总时间(权值):" + pt.sum);
str += "总时间(权值):" + pt.sum + "\n";
for (int i = 0, im = pt.size(); i < im; i++) {
System.out.println("" + ((Point) pt.get(i)).name + "(" + ((Point) pt.get(i)).bffer + ")");
str += ((Point) pt.get(i)).name + "(" + ((Point) pt.get(i)).bffer + ")";
if (i < im - 1) {
System.out.print("->");
str += "->";
}
}
System.out.println("");
str += "\n";
}
this.jTextArea1.setText(str);
}
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new NewJFrame1().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JComboBox jComboBox2;
private javax.swing.JComboBox jComboBox3;
private javax.swing.JComboBox jComboBox4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JList jList1;
private javax.swing.JList jList2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField10;
private javax.swing.JTextField jTextField11;
private javax.swing.JTextField jTextField12;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField8;
private javax.swing.JTextField jTextField9;
// End of variables declaration
}


bawgiitx 2009-11-29
  • 打赏
  • 举报
回复


jLabel12.setText("终点:");

jLabel11.setText("出发站:");

jButton3.setText("查找");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});

jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane3.setViewportView(jTextArea1);

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(6, 6, 6)
.addComponent(jButton3))
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel12)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 257, Short.MAX_VALUE))
.addContainerGap())
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel11)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3))
.addGap(18, 18, 18)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel12)
.addComponent(jTextField12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 288, Short.MAX_VALUE)
.addContainerGap())
);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);

pack();
}// </editor-fold>

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String str = jTextField1.getText().trim();
if (!str.equals("") && !m.getPoints().contains(str)) {
m.getPoints().add(new Point(str));
((javax.swing.DefaultListModel) jList1.getModel()).addElement(str);
}
}

bawgiitx 2009-11-29
  • 打赏
  • 举报
回复

/**不能连续回三帖
*现在这帖补齐
*/

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 274, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel7)
.addGap(21, 21, 21)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox3, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(jLabel4))
.addGap(16, 16, 16)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jComboBox4, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jComboBox2, 0, 42, Short.MAX_VALUE)))))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5)
.addComponent(jComboBox4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(jTextField8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(jTextField9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel9)
.addComponent(jTextField10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel10)
.addComponent(jTextField11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 55, Short.MAX_VALUE)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
hjjk123 2009-11-29
  • 打赏
  • 举报
回复
强 顶了
wzju64676266 2009-11-29
  • 打赏
  • 举报
回复
System.out.println("请输入数组个数");
Scanner s=new Scanner(System.in);
final int arraySize=s.nextInt();
int sizes[]=new int[arraySize];
System.out.println("请输入数组元素,用空格分隔,回车结束");
for(int ii=0;ii<sizes.length;ii++)
{
sizes[ii]=s.nextInt();
}

System.out.println("请输入要查找的数字,回车结束");
int searchNum=s.nextInt();
for(int ii=0;ii<sizes.length;ii++)
{
if(sizes[ii]>searchNum)
System.out.println("比"+searchNum+"大的元素:"+sizes[ii]+" 位置在数组中第"+ii+"个");
}
wzju64676266 2009-11-29
  • 打赏
  • 举报
回复
位置你不会?很简单啊
SIOSXIAOQIANG 2009-11-29
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 wzju64676266 的回复:]
跟你开开玩笑了,学习重要
[/Quote]
可以把你做的题完善吗?
就是再输出个,该数所在数组中的位置。
wzju64676266 2009-11-29
  • 打赏
  • 举报
回复
跟你开开玩笑了,学习重要
SIOSXIAOQIANG 2009-11-29
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 wzju64676266 的回复:]
我多少分啊
[/Quote]
由于你只回答了一道题,还差个位置,所以我给了你15分。满分20分。应该合理吧。:)
wzju64676266 2009-11-29
  • 打赏
  • 举报
回复
我多少分啊
SIOSXIAOQIANG 2009-11-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bawgiitx 的回复:]
第一个
Java code/*
run:
请输入数组,输入end数组输入结束,exit退出
1
-5
-50
5
3
88
55
164
248
24
-512
end
输入查找的关键字
50
查找结果:
数据:88,数组位置:5
数据:55,数组位置:6
数据:164,数组位置:7
数据:248,数组位置:8
end
输入的不是数字
exit
成功生成(总时间:38 秒)*/publicstaticvoid main(String[] args) {
java.io.DataInputStream bis=new java.io.DataInputStream(System.in);try {
String str;int post;int flag=0;
System.out.println("请输入数组,输入end数组输入结束,exit退出");
java.util.Vector<Integer> tem=new java.util.Vector();while ((str= bis.readLine())!=null) {if (str.equals("exit")) {break;

}if (str.equals("rstart")) {
flag=0;
System.out.println("请输入数组,输入end数组输入结束,exit退出");
tem.clear();continue;
}if(flag==1){try {
Integer num=new Integer(str);
System.out.println("查找结果:");for(int i=0,im=tem.size();i<im;i++){if(num.compareTo(tem.get(i))<=0){
System.out.println("数据:"+tem.get(i)+",数组位置:"+i);
}
}
}catch (NumberFormatException n) {
System.out.println("输入的不是数字");
}
}elseif (str.equals("end")) {if (tem.size()==0) {
System.out.println("请输入数组数据");
}else {
flag=1;
System.out.println("输入查找的关键字");
}
}else {try {
Integer num=new Integer(str);
tem.add(num);
}catch (NumberFormatException n) {
System.out.println("输入的不是数字");
}
}
}
}catch (IOException ex) {
}try {
bis.close();
}catch (IOException ex) {
}
}
[/Quote]

您回复的第一题有几个问题:
1.并没有排序;
2.没有显示出改数所在数组的位置。
但是还要谢谢你!
您回答的第二题,我已经测试成功,感谢你的回答。将给你50分。谢谢。
wzju64676266 2009-11-29
  • 打赏
  • 举报
回复
出这种题,一看就知道公司是什么水准
wzju64676266 2009-11-29
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 siosxiaoqiang 的回复:]
引用 23 楼 wzju64676266 的回复:
Java codeSystem.out.println("请输入数组个数");
        Scanner s=new Scanner(System.in);finalint arraySize=s.nextInt();int sizes[]=newint[arraySize];
        System.out.println("请输入数组元素,用空格分隔,回车结束");for(int ?-

差个该数在数组中的位置?!。。。
不过已经很优化了。
谢谢
[/Quote]

位置很简单,忘了写,其实有这个思想就能写得出,题目很简单
SIOSXIAOQIANG 2009-11-29
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 wzju64676266 的回复:]
Java codeSystem.out.println("请输入数组个数");
Scanner s=new Scanner(System.in);finalint arraySize=s.nextInt();int sizes[]=newint[arraySize];
System.out.println("请输入数组元素,用空格分隔,回车结束");for(int ?-
[/Quote]
差个该数在数组中的位置?!。。。
不过已经很优化了。
谢谢
bawgiitx 2009-11-29
  • 打赏
  • 举报
回复

/**回复内容过长!
*/
public class NewJFrame1 extends javax.swing.JFrame {

Map m = new Map();

/** Creates new form NewJFrame1 */
public NewJFrame1() {
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jList1 = new javax.swing.JList();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jTextField3 = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jTextField8 = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jTextField9 = new javax.swing.JTextField();
jScrollPane2 = new javax.swing.JScrollPane();
jList2 = new javax.swing.JList();
jButton2 = new javax.swing.JButton();
jTextField10 = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jTextField11 = new javax.swing.JTextField();
jComboBox1 = new javax.swing.JComboBox();
jComboBox2 = new javax.swing.JComboBox();
jComboBox3 = new javax.swing.JComboBox();
jComboBox4 = new javax.swing.JComboBox();
jPanel3 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jTextField12 = new javax.swing.JTextField();
jButton3 = new javax.swing.JButton();
jScrollPane3 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLabel1.setText("点名");

jButton1.setText("添加点");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});

jList1.setModel(new javax.swing.DefaultListModel());
jScrollPane1.setViewportView(jList1);

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1))
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 175, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 337, Short.MAX_VALUE)
.addContainerGap())
);

jLabel2.setText("车号");

jLabel3.setText("开始时间(时:分):");

jLabel4.setText(":");

jLabel5.setText(":");

jLabel6.setText("结束时间(时:分):");

jLabel7.setText("出车时间间隔(分钟):");

jLabel8.setText("到下一站需要时间(分钟):");

jList2.setModel(new javax.swing.DefaultListModel());
jScrollPane2.setViewportView(jList2);

jButton2.setText("添加线");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});

jLabel9.setText("本站站点:");

jLabel10.setText("下一站站点:");

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" }));

jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59" }));

jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" }));

jComboBox4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59" }));
//////////////
bawgiitx 2009-11-29
  • 打赏
  • 举报
回复

/**怎么还是 回复内容过长!

*/
class Line implements java.io.Serializable {

Point one;
Point other;
timedata time;//

Line(Point on, Point ot, timedata t) throws java.io.EOFException {
one = on;
other = ot;
if (t == null || on.equals(ot)) {
throw new java.io.EOFException("< 0");
}
time = t;
}

@Override
public String toString() {
return "站点:" + one.name + ",站点:" + other.name + ",车号:" + time.name + "到下一站时间(分钟):" + time.v;
}

@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;

}
if (obj instanceof Line && contains(((Line) obj).one) && contains(((Line) obj).other) && time.equals(((Line) obj).time)) {
return true;

}
return false;
}

@Override
public int hashCode() {
int hash = 7;
hash = 31 * hash + (this.one != null ? this.one.hashCode() : 0);
hash = 31 * hash + (this.other != null ? this.other.hashCode() : 0);
hash = 31 * hash + (this.time != null ? this.time.hashCode() : 0);
return hash;
}

public boolean contains(Point p) {
return one.equals(p) || other.equals(p);
}

public boolean contains(Point on, Point ot) {
return (one.equals(on) && other.equals(ot)) || (other.equals(on) && one.equals(ot));
}
}

class Path<E> extends java.util.Vector implements Comparable<Path> {

/**
* 权值和
*/
public int sum = 0;

@Override
public synchronized Path<E> clone() {
Path<E> p = new Path<E>();
p.addAll((java.util.Collection<E>) this);
p.sum = sum;
return p;
}

public int compareTo(Path o) {
return sum - o.sum;
}
}

class Map {

/**
* 所有站点
*/
private java.util.Vector<Point> points = new java.util.Vector() {

@Override
public synchronized int indexOf(Object o, int index) {
if (o == null) {
for (int i = index; i < elementCount; i++) {
if (elementData[i] == null) {
return i;
}
}
}
if (o instanceof String) {
for (int i = index; i < elementCount; i++) {
if (o.equals(((Point) elementData[i]).name)) {
return i;
}
}
} else if (!(o instanceof Point)) {
return -1;
} else {
for (int i = index; i < elementCount; i++) {
if (((Point) o).name.equals(((Point) elementData[i]).name)) {
return i;
}
}
}
return -1;
}
};
/**
* 所有二点间线路
*/
private java.util.Vector<Line> lines = new java.util.Vector() {

@Override
public synchronized int indexOf(Object o, int index) {
if (o == null) {
for (int i = index; i < elementCount; i++) {
if (elementData[i] == null) {
return i;
}
}
}
if (!(o instanceof Line)) {
return -1;
} else {
for (int i = index; i < elementCount; i++) {
if (((Line) o).equals(((Line) elementData[i]))) {
return i;
}
}
}
return -1;
}
};

public java.util.Vector<Line> getLines() {
return lines;
}

/**
* 添加点
* @param p
*/
public void addPoint(Point p) {
if (!points.contains(p)) {
points.add(p);
}
}

/**
* 得到所有点
* @return
*/
public java.util.Vector<Point> getPoints() {
return points;
}

/**
* 删除点
* @param index 索引 从0开始
* @return
* @throws java.io.EOFException
*/
public Point removePoint(int index) throws java.io.EOFException {
Point p = points.get(index);
if (!removePoint(p)) {
throw new java.io.EOFException("not remove");

}
return p;
}

/**
* 删除点
* @param p
* @return
* @throws java.io.EOFException
*/
public boolean removePoint(Point p) throws java.io.EOFException {
for (Line l : lines) {
if (l.one.equals(p) || l.other.equals(p)) {
throw new java.io.EOFException("remove false,exits line");

}
}
return points.remove(p);
}

/**
* 添加线
* @param on
* @param ot
* @param t
* @throws java.io.EOFException
*/
public void addLine(Point on, Point ot, timedata t) throws java.io.EOFException {
addLine(new Line(on, ot, t));
}

/**
* 添加线
* @param l
* @throws java.io.EOFException
*/
public void addLine(Line l) throws java.io.EOFException {
if (lines.contains(l)) {
throw new java.io.EOFException("");
}
if (!points.contains(l.one)) {
points.add(l.one);
}
if (!points.contains(l.other)) {
points.add(l.other);
}
lines.add(l);
}

/**
* 删除线
* @param index
* @return
*/
public Line removeLine(int index) {
return lines.remove(index);
}

/**
* 删除线
* @param l
* @return
*/
public boolean removeLine(Line l) {
return lines.remove(l);
}

class GoenPath<E> extends java.util.Vector implements Comparable<GoenPath> {

/**
* 权值和
*/
public int sum = 0;

@Override
public synchronized GoenPath<E> clone() {
GoenPath<E> p = new GoenPath<E>();
p.addAll((java.util.Collection<E>) this);
p.sum = sum;
return p;
}

public int compareTo(GoenPath o) {
return sum - o.sum;
}
}

public java.util.Vector<java.util.Vector<Point>> getPathAll(Point start, Point end) {
java.util.Vector<Path<Point>> re = new java.util.Vector<Path<Point>>();
/////////////////
findPathAll(re, start, end, new GoenPath<Point>(), points, lines);
return (java.util.Vector) re;
}

/**
* 用递归降低复杂度
* @param paths 存放走完的路径
* @param start 当前开始点
* @param end 结束点
* @param gone 走过的点
* @param nexts 未走过的点
* @param nexts 未走过的线路
*/
private void findPathAll(java.util.Vector<Path<Point>> paths, Point start, Point end, GoenPath<Point> gone, java.util.Vector<Point> nexts, java.util.Vector<Line> linesnext) {
java.util.Vector<Line> nlinesnext = (java.util.Vector<Line>) linesnext.clone();
GoenPath<Point> ngone = gone.clone();
java.util.Vector<Point> nnexts = (java.util.Vector<test.Point>) nexts.clone();
if (!ngone.contains(start)) {
ngone.add(start);
}
if (nnexts.contains(start)) {
nnexts.remove(start);
}
for (Line l : linesnext) {
if (l.contains(start, end)) {//start end二点是否相连
nlinesnext.remove(l);
Path<Point> pa = new Path();
pa.addAll(gone);
pa.sum = gone.sum + l.time.v;
Point e = new Point(end.name);
e.bffer = l.time.v;
pa.add(e);
paths.add(pa);
}
}

for (Point p : nnexts) {
for (Line l : nlinesnext) {
if (l.contains(start, p)) {
GoenPath<Point> bngone = ngone.clone();
java.util.Vector<Point> bnnexts = (java.util.Vector<test.Point>) nnexts.clone();
java.util.Vector<Line> bnlinesnext = (java.util.Vector<Line>) nlinesnext.clone();
Point bp = new Point(p.name);
bp.bffer = l.time.v;
bngone.add(bp);
bnnexts.remove(p);
bngone.sum += l.time.v;
bnlinesnext.remove(l);
findPathAll(paths, p, end, bngone, bnnexts, bnlinesnext);
}
}
}
}

public java.util.Vector<Point> getPath(Point start, Point end) {
//////////////////
java.util.Vector<Path> ps = (java.util.Vector) getPathAll(start, end);
Path[] pt = new Path[ps.size()];
pt = ps.toArray(pt);
java.util.Arrays.sort(pt);
return pt[0];
}
}
加载更多回复(18)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧