Java 如何将随机整数转换为字符串以用于if/else?
所以我正在为我的AP Comp Sci课程编写一个程序,我需要一些解析INT之类的帮助 如何获取一个随机整数,并将其转换为可在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 {
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) {
//..