Java:从 Scanner 转换为 JOptionPane

标签 java swing java.util.scanner

请谁能帮我将此程序从 Scanner 转换为 JOptionPane

当我开始转换时,我发现了一些困难

“此代码用于二分查找”

import java.util.Scanner;
public class bs {
        public static void main(String [] args){
         int []a = new int[100];
         int x,low,high,mid,i,n;
            Scanner scan  = new Scanner (System.in);
            System.out.println(" Enter the n element");
            n = scan.nextInt();
            System.out.println("Enter " + n +  " elements");
            for (i=0;i<n;i++)
            a[i] = scan.nextInt();
            System.out.println(" enter the search element");
                x = scan.nextInt();
                low = 0; high = n-1;
                 while ( low <=high){
                 mid  = (low + high)/2;
                 if (x ==a[mid]){
             System.out.println(" Element is found at location"  + mid)   ;

        return;
        }
                 else if (x<a[mid])
             high = mid-1;
                 else  
                 low  = mid+1;

         }
               System.out.println(" element is not found");

               }
            }  

最佳答案

这里有一个建议:

public static int getInt(String msg) {
    // TODO: Error checking.
    return Integer.parseInt(JOptionPane.showInputDialog(msg));
}

你可以这样使用:

public static void main(String[] args) {
    int[] a = new int[100];
    int x, low, high, mid, i, n;

    n = getInt("Enter the n element");

    for (i = 0; i < n; i++)
        a[i] = getInt("Enter element " + (i+1));

    x = getInt(" enter the search element");

    low = 0;
    high = n - 1;
    while (low <= high) {
        mid = (low + high) / 2;
        if (x == a[mid]) {
            System.out.println(" Element is found at location" + mid);

            return;
        } else if (x < a[mid])
            high = mid - 1;
        else
            low = mid + 1;

    }
    System.out.println(" element is not found");

}

关于Java:从 Scanner 转换为 JOptionPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9841508/

相关文章:

Java Scanner 用于在不前进位置的情况下窥视某些东西(int、double、line 等)

java - 使用 getmethods 和 setmethods 输入作为扫描仪变量

java - 二进制搜索未排序的数组

java - 在 Facelets 页面中显示异常堆栈跟踪

java - Android 无法解析构造函数 ArrayAdapter

java - 无法使用 GridBagLayout 将 JLabel 替换为其他 JLabel

java - Java Swing GUI 的自动化测试

Java Canvas绘制图像闪烁

java - 基准硬盘

java - 在 cmd 中使用 java 扫描仪