Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将随机整数转换为字符串以用于if/else?_Java_String_If Statement_Int - Fatal编程技术网

Java 如何将随机整数转换为字符串以用于if/else?

Java 如何将随机整数转换为字符串以用于if/else?,java,string,if-statement,int,Java,String,If Statement,Int,所以我正在为我的AP Comp Sci课程编写一个程序,我需要一些解析INT之类的帮助 如何获取一个随机整数,并将其转换为可在if/else语句中使用的字符串 import java.awt.*; import java.awt.event.*; import java.awt.Container; import javax.swing.*; import java.lang.*; import java.io.*; import java.util.*; class LibraryGUI {

所以我正在为我的AP Comp Sci课程编写一个程序,我需要一些解析INT之类的帮助

如何获取一个随机整数,并将其转换为可在
if
/
else
语句中使用的字符串

import java.awt.*;
import java.awt.event.*;
import java.awt.Container;
import javax.swing.*;
import java.lang.*;
import java.io.*;
import java.util.*;

class LibraryGUI {

// variables and objects
JFrame frame, frame2, frame3;
JPanel panel, panel2, panel3;
JLabel label, label2, label3, label4;
JButton button1;
JButton button2, button3, enter2;
JTextField username, logincred;

Random r = new Random();

public LibraryGUI()
{
    frame = new JFrame("LexCorp Library");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    label = new JLabel("Welcome to LexCorp Library");

    button1 = new JButton("Login");
    button1.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            frame3 = new JFrame("Find Account");
            panel3 = new JPanel();
            enter2 = new JButton("Enter");
            frame3.setLayout(new GridLayout(1,1));

            panel3.setBackground(Color.white);
            panel3.setSize(700,700);

            label4 = new JLabel("Enter account number");
            logincred = new JTextField("\t\t");

            logincred.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent j){
                    String choose = logincred.getText();
                }
            });

            panel3.add(label4);
            panel3.add(logincred);
            panel3.add(enter2);

            frame3.getContentPane().add (panel3);

            frame3.pack();
            frame3.setVisible(true);

            //internalcode
        }
    });

    button2 = new JButton("Make a new Account");
    button2.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent f){
            //GUI Section
            frame2 = new JFrame("Make a new account");
            //frame2.setLayout(new GridLayout(4,4));
            panel2 = new JPanel();

            panel2.setLayout(new GridLayout(4,3));
            //panel2.setLayout(new FlowLayout());

            label2 = new JLabel("Account's name");
            username = new JTextField();

            int acc = r.nextInt(1000);

            label3 = new JLabel("Your account number is " +acc);

            button3 = new JButton("Enter");
            button3.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent ent){
                    JOptionPane.showMessageDialog(frame, "Account Created");
                    frame2.dispose();
                }
            });

            panel2.add(label2);

            panel2.add(username);
            panel2.add(button3);
            panel2.add(label3);

            frame2.pack();

            username.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent ae){
                    String user = username.getText();
                    System.out.println(user);
                }
            });

            panel2.setSize(700,700);
            panel2.setBackground(Color.LIGHT_GRAY);

            frame2.getContentPane().add (panel2);
            frame2.pack();
            frame2.setVisible(true);

            //internalCode
        }
    });

    //panel properties
    panel = new JPanel();
    panel.setSize(700,700);
    panel.setLayout(new GridLayout(10,10));
    panel.setBackground(Color.yellow);

    //add-ins
    panel.add(label);
    panel.add(button1);
    panel.add(button2);

    frame.getContentPane().add (panel);
}

    public void display()
    {
        frame.pack();
        frame.setVisible(true);
    }
}

如果int原语类型与字符串一起使用,则结果将是字符串。 比如说,

int b=3

字符串bs=b+“”

那么bs将是“3”

如果您对编程感兴趣,我建议您阅读“用Java思考”。阅读它对我帮助很大。

请使用:

Integer.toString(int) 
而不是:

int + ""
这是一种更优雅的方式,也更易于JVM处理。无论哪种方式,这都不是一个复杂的操作,但却是正确的操作方法

(取..)整数并将其转换为可在IF-ElSE中使用的字符串

不如改为不转换它?if语句的条件可以处理整数,而且比字符串更容易

例如。
int x=random.nextInt(100);
如果(x<50){
//..

“我该怎么做?”-文档和研究是一个很好的开始。类似于
Integer.toString
的东西可以让你将
int
转换成
String
我需要一些解析int的帮助,这样你就不应该发布与GUI相关的代码,除非它直接影响你的问题。你也可以只做以下操作:Stringstr=”“+[integer variable name]“”+r(将r添加到空字符串中)老实说,我经常看到
“”+n
,这会让我的皮肤爬行,我不知道为什么,它只是爬行。通常
integer.toString
更有效,特别是在循环中执行此类操作时,但甚至
new StringBuilder().append(n).toString()
似乎效率更高,但也许我只是一个老古董……老实说,我经常看到
“+n
,它让我的皮肤蠕动,我不知道为什么,它就是这样。通常
整数.toString
效率更高,特别是在循环中执行此类操作时,但即使是
新的StringBuilder().append(n).toString()
似乎效率更高,但也许我只是一个老掉牙的达迪……当然,StringBuilder方法会更有效,但这里的问题是,它只是一行代码(acc),没有for循环……我认为这没什么大不了的。除非你创建了至少两个临时
String
对象(我可能弄错了,编译器可能会对它们进行优化)并鼓励坏习惯。
Integer.toString
只是一行……就像我说的,它只是让我感到难受的东西:嗯,你是对的。我无法反驳~ :)<代码>“+n编译为
new StringBuilder().append(n).toString()
,它创建一个不必要的
StringBuilder
,其中包含一个不必要的
char[]
(某些版本除外)。如果
n
是编译时间常数,并且编译器知道字符串在运行时的外观(也就是说,
n
是最终的)然后
“+n
将直接编译成
“5”
(或任何
n
)当没有任何东西要连接时,使用
整数.toString
/
字符串。如果有,只要
+/code>
+
就是最正确的做法,循环(这里就是这个)是最突出的例外。
int x = random.nextInt(100); 
if (x < 50) { 
    //..