A. java面試題
解決思路: 你可以把每一個任務理解成一個一個的點, 然後把前提條件理解成 每個點之間的連接因素 . 代碼需要實現的功能就是, 用 連接因素 把所有的點 連接在一起, 如果能連接成一個整體 , 那麼就是 可以完成所有任務 , 如果不能連接在一起 , 那麼就不能完成所有任務。
代碼:
import java.util.*;
public class MyTest {
public static void main(String[] args) {
int[] tasks = {1,2,3,4,5,6,7,8}; //任務
String[] terms = {"[1,0]","[1,2]","[2,3]","[5,7]","[3,4]","[4,5]","[0,8]","[2,6]"};
parseTerms(terms);
Map<Integer,Object> taskMap = new HashMap<>();
int[] is = parseStr(terms[0]);
taskMap.put(is[0],new Object());
taskMap.put(is[1],new Object());
calc(taskMap);
boolean isOk = true;
for(int task : tasks){
if(taskMap.get(task)==null){
isOk = false;
break;
}
}
System.out.println("可以完成的任務是:"+taskMap.keySet());
System.out.println("是否可以完成所有任務:"+isOk);
}
public static void calc(Map<Integer,Object> taskMap){
while(true) {
boolean isHave = false;
for (Integer key : new ArrayList<>(taskMap.keySet())) {
Iterator<int[]> items = terms.iterator();
while (items.hasNext()) {
int[] is = items.next();
if (key == is[0] || key == is[1]) {
taskMap.put(is[1], new Object());
taskMap.put(is[0], new Object());
isHave = true;
items.remove();
}
}
}
if(!isHave){
break;
}
}
}
public static int[] parseStr(String s){
s = s.substring(1,s.length()).substring(0,s.length()-2);
return new int[]{Integer.parseInt(s.split(",")[0]),Integer.parseInt(s.split(",")[1])};
}
static List<int[]> terms = new ArrayList<>();
public static void parseTerms(String[] terms){
for(String s : terms){
int[] is = parseStr(s);
MyTest.terms.add(is);
}
}
}
B. 求java代碼。如題,據說是個面試題。
寫著玩的,看到了就練練,給你了
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class SortArray {
public static void main(String[] args) {
Integer[] array = {7, 4, 2, 7, 4, 3, 2, 9, 4, 1, 2, 3};
List<Element> list = new ArrayList<Element>();
for(int i = 0; i < array.length; i++) {
Integer temp = array[i];
Element e = new Element(temp);
int index = list.indexOf(e);
if(index >= 0) {
list.get(index).add();
} else {
list.add(e);
}
}
Collections.sort(list);
for(Object e : list.toArray()) {
System.out.println(e);
}
}
public static class Element<T extends Comparable> implements Comparable<Element> {
private T value;
private int times = 1;
public Element() {}
public Element(T value) {
if(value != null) {
this.value = value;
return;
}
throw new NullPointerException("Construct : value is null");
}
public void add() {
times++;
}
@Override
public boolean equals(Object obj) {
return (value.compareTo(((Element)obj).value) == 0) ? true : false;
}
@Override
public int compareTo(Element o) {
int temp = times - o.times;
return (temp == 0) ? value.compareTo(o.value) : temp;
}
@Override
public String toString() {
return value.toString() + " ( 出現 " + times + " 次 )";
}
}
}
C. JAVA面試直接是機試題,是寫代碼嗎
機試題。因為JAVA面試考核的是考生編輯的程序能否正常運行,並不是檢驗考生是否能夠正確書寫出來編碼。
D. 求解一段java面試寶典的代碼改錯
放eclipse里就會有紅線提示,類名和文件名應該一致
你說的不會報錯不知道是什麼情況,默認設置是會報錯的
package tv.bilibili;
import java.util.Scanner;
import java.util.regex.MatchResult;
public class test3 {
public static void main(String[] args) {
double price, money;
Scanner input = new Scanner(System.in);
System.out.println("請輸入物品價格:");
price = input.nextDouble();// 接受輸入數字
System.out.println("請輸入支付金額:");
money = input.nextDouble();// 接受輸入數字
if (price <= money) {
money = money - price;
int , wushi, ershi, shi, wu, yi, wujiao, yijiao;
= (int) (money / 100);
money = money - * 100;
wushi = (int) (money / 50);
money = money - wushi * 50;
ershi = (int) (money / 20);
money = money - ershi * 20;
shi = (int) (money / 10);
money = money - shi * 10;
wu = (int) (money / 5);
money = money - wu * 5;
yi = (int) (money / 1);
money = money - yi * 1;
wujiao = (int) (money / 0.5);
money = money - wujiao * 0.5;
yijiao = (int) (money / 0.1);
money = money - yijiao * 0.1;
System.out.println("主要支付給顧客100元:" + + "張;" + "50元:" + wushi
+ "張;" + "20元:" + ershi + "張;" + "10元:" + shi + "張;"
+ "5元:" + wu + "張;" + "1元:" + yi + "張;" + "5角:"
+ wujiao + "張;" + "1角:" + yijiao + "張;");
} else {
System.out.println("您所支付的金額不足!");
}
}
}
算是寫完了,其實很簡單自己不動手只會害了自己,既然選擇這個,以後問問題不要直接求代碼,而是求方法,不然你永遠從事不了這一行
F. java面試題:一個人早上八點上山,晚上八點到達山頂。第二天早上八點下山,晚上八點到達山底。
java面試題的解析方式(思路如下):
public static void main(String[] args) {
// TODO Auto-generated method stub
int up = 8;
int down = 8;
while(up<=20){
if((up == 20-6) &&(up == 20-6)){
System.out.println("在"+up+"時到達同一地點");
break;
}
up += 1;
down += 1;
}
}
微軟面試題的背後
微軟的奇葩面試題答案並不重要,重要的是思考過程,而思考過程體現了你是否擁有公司所看重的能力,不僅是微軟,其他公司的面試也是為了測試你的某種能力,如果你提前培養了這種能力,相當於知道了面試的「考綱」,在面試中自然就從容不迫,游刃有餘了。
平時要知道轉化能力是看透問題,然後找到解決方案的能力。所以轉化能力最重要的是如何看透問題,也就是你思考問題的方式。
G. java面試題求解 求全部代碼 急!!一個多行txt文本,每行數據以tab分隔
publicstaticvoidmain(String[]args){
try{
Filefile=newFile("D:\123.txt");
FileInputStreaminputStream=newFileInputStream(file);
BufferedReaderbufferReader=newBufferedReader(newInputStreamReader(inputStream,"GBK"));
List<String>threadColumns=newArrayList<String>();
while(true){
Stringline=bufferReader.readLine();
if(line==null||"".equals(line))
break;
else{
StringthreadColum=line.split(" ")[2].toString().substring(2,9);
threadColumns.add(threadColum);
}
}
bufferReader.close();
inputStream.close();
Collections.sort(threadColumns);
FileoutFile=newFile("D:\456.txt");
FileWriterfw=newFileWriter(outFile);
BufferedWriterwriter=newBufferedWriter(fw);
for(StringthreadColum:threadColumns){
writer.write(threadColum);
writer.newLine();//換行
}
writer.close();
fw.close();
}catch(Exceptione){
e.printStackTrace();
}
}
H. java面試題:寫出下列代碼的作用
I. java 面試題
代碼來自java標准類庫: java.util.Arrays.binarySearch 方法
public static int binarySearch(int[] a, int key) {
return binarySearch0(a, 0, a.length, key);
}
private static int binarySearch0(int[] a, int fromIndex, int toIndex,
int key) {
int low = fromIndex;
int high = toIndex - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int midVal = a[mid];
if (midVal < key)
low = mid + 1;
else if (midVal > key)
high = mid - 1;
else
return mid; // key found
}
return -(low + 1); // key not found.
}
J. java 面試問題:代碼怎麼寫
string xmlPath = "Demo.xml"
XmlDocument _XmlDoc = new XmlDocument();
_XmlDoc.Load(xmlPath);
這個讀入xml文件然後就是讀取數據了
暫時還不會你加油