Sina.iRoid
دوشنبه 17 آذر 1393, 18:53 عصر
سلام دوستان.
من می خوام برنامه جستجوی دودویی و به صورت شی گرا بنویسم. تا یه جاهایی پیش رفتم، اما به مشکلی که بر خوردم اینه که نمی دونم چطور داده های آرایه رو از ورودی دریافت کنم و بعد داخل آرایه بذارم!؟
خواهشم از شما دوستان اینه که:
ابتدا در مورد نحوه شی گرا نوشتم توضیح بدین. اینکه تا چه حد درست کار کردم!؟
و اینکه چه طور از کاربر ورودی بگیرم.
کد کلاس: BinarySearch
public final class BinarySearch {
private int left = 0;
private int right;
private int sw = 0;
private int key = 0;
private int mid = 0;
private int[] num = new int[5];
//search method
public void search(){
while (sw == 0 && left <= right) {
mid = (left + right) / 2;
if (num[mid] == key) {
sw = 1;
}else if (num[mid] < key) {
left = mid + 1;
}else {
right = mid - 1;
}
}
if (sw == 0) {
System.out.println("Doesn't exist.");
} else {
System.out.println("Exist in: " + (mid + 1));
}
}
//setter
public void setKey(int key){
this.key = key;
}
public int[] getNum(){
return num;
}
public void setNum(int[] num){
this.num = num;
}
}
و کد کلاس اصلی:
import java.util.Scanner;
public class MainClass {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//object from BinarySearch
BinarySearch searchOb = new BinarySearch();
//get data for array
for (int i = 0; i < searchOb.getNum().length; i++) {
searchOb.setNum();
}
System.out.print("Please type number that you want to search: ");
searchOb.setKey(input.nextInt()); //getting input
}
}
ممنون میشم اگر راهنماییم کنید.
من می خوام برنامه جستجوی دودویی و به صورت شی گرا بنویسم. تا یه جاهایی پیش رفتم، اما به مشکلی که بر خوردم اینه که نمی دونم چطور داده های آرایه رو از ورودی دریافت کنم و بعد داخل آرایه بذارم!؟
خواهشم از شما دوستان اینه که:
ابتدا در مورد نحوه شی گرا نوشتم توضیح بدین. اینکه تا چه حد درست کار کردم!؟
و اینکه چه طور از کاربر ورودی بگیرم.
کد کلاس: BinarySearch
public final class BinarySearch {
private int left = 0;
private int right;
private int sw = 0;
private int key = 0;
private int mid = 0;
private int[] num = new int[5];
//search method
public void search(){
while (sw == 0 && left <= right) {
mid = (left + right) / 2;
if (num[mid] == key) {
sw = 1;
}else if (num[mid] < key) {
left = mid + 1;
}else {
right = mid - 1;
}
}
if (sw == 0) {
System.out.println("Doesn't exist.");
} else {
System.out.println("Exist in: " + (mid + 1));
}
}
//setter
public void setKey(int key){
this.key = key;
}
public int[] getNum(){
return num;
}
public void setNum(int[] num){
this.num = num;
}
}
و کد کلاس اصلی:
import java.util.Scanner;
public class MainClass {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//object from BinarySearch
BinarySearch searchOb = new BinarySearch();
//get data for array
for (int i = 0; i < searchOb.getNum().length; i++) {
searchOb.setNum();
}
System.out.print("Please type number that you want to search: ");
searchOb.setKey(input.nextInt()); //getting input
}
}
ممنون میشم اگر راهنماییم کنید.