我有一个任务,我需要用params创建一个BookInventory对象的arraylist(String bookNum,String bookTitle,int qoh,double bookPrice).其中bookNum是书籍的带连字符的ISBN号.创建此数组后,我需要使用Collections类的sort方法.在我的实体BookInventory类中,我需要编写一个compareTo(),它最终将通过bookNum(这是一个String)对arraylist进行排序.我该怎么做呢?这是我第一次遇到这种情况,我不明白.
我有几个名为名称和销售的并行数组。我让用户输入最多 100 名销售人员(显然是名字)及其销售额。我将这些打印到表格上没有问题。问题(无论如何对我来说)是它们需要根据销售额按降序排序。我创建了一个名为 的函数sort,其编码(很差 - 因为我刚刚开始学习 JavaScript)如下:
function sort(names, sales) {
var i = 0;
var j = 0;
var temp = 0;
for (var i = 0; i < sales.length - 1; i++) {
var min = i;
for (var j = i + 1; j < array.length; j++)
if (sales[j] < (sales[min])) min = j;
temp = sales[i];
sales[i] = sales[min];
sales[min] = temp;
temp = names[i];
names[i] = names[min];
names[min] = temp;
}
}
Run Code Online (Sandbox Code Playgroud)
显然,我在这里需要一些帮助。任何人都可以帮忙指出其中的(无疑是很多)错误吗? …
我正在写我的最后一个java任务(Yayy! - 感谢所有帮助我完成其他任务的人).在这一个中,我必须编写一个servlet,它接受年龄,婚姻状况,房屋收入和孩子数量,转到数据库,然后将更新的平均值返回给用户.但是,我遇到了这个堆栈跟踪:
java.lang.NoClassDefFoundError: HouseSurvey$SurveyResults
at HouseSurvey.doPost(HouseSurvey.java:23)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)
at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: HouseSurvey$SurveyResults
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1338)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1187)
... 21 more
Run Code Online (Sandbox Code Playgroud)
在过去,我犯了过多的代码,没有足够的代码等等.我为我的新生事道歉.这是我写的课程:
import java.text.DecimalFormat;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HouseSurvey extends HttpServlet {
private final static String …Run Code Online (Sandbox Code Playgroud) 我编写了以下代码,但不断得到一个'非静态方法getText()不能从静态上下文引用'错误.
有人可以帮助我在这里走上正轨吗?
public class ISBNText extends JTextField
{
protected static String bookNum;
protected JTextField bookText;
public ISBNText()
{
super(20);
bookText = new JTextField();
}
public String getISBN()
{
String bookNum = ISBNText.getText();
return bookNum;
}
private String validateISBN(String bookNum)
}
Run Code Online (Sandbox Code Playgroud) 想知道是否可以通过打印来初始化文本字段(这部分我知道该怎么做),但是然后突出显示打印,然后在用户开始输入时消失?即使没有突出显示,如何使用"请输入您的电话号码"之类的字段初始化字段,然后消失,以便用户不必删除文本?
不久前我问过这个阵列,我看不出是什么问题.太累了.我做错了什么?基本上,我正在使用字符串数组并尝试检查它是否包含数字或x(ISBN号验证).我想从给定输入(bookNum)中获取数字,检查输入,并将任何有效输入提供给新数组(书).在线
'bookNum.charAt[j]==book[i]'
Run Code Online (Sandbox Code Playgroud)
我得到'不是声明错误'.是什么赋予了?
String[] book = new String [ISBN_NUM];
bookNum.replaceAll("-","");
if (bookNum.length()!=ISBN_NUM)
throw new ISBNException ("ISBN "+ bookNum + " must be 10 characters");
for (int i=0;i<bookNum.length();i++)
{
if (Character.isDigit(bookNum.charAt(i)))
bookNum.CharAt[j]==book[i];
j++;
if (book[9].isNotDigit()||
book[9]!="x" ||
book[9]!="X")
throw new ISBNException ("ISBN " + bookNum + " must contain all digits" +
"or 'X' in the last position");
Run Code Online (Sandbox Code Playgroud) 我已经问了几个关于for循环的问题:
String[] book = new String [ISBN_NUM];
bookNum.replaceAll("-","");
if (bookNum.length()!=ISBN_NUM)
throw new ISBNException ("ISBN "+ bookNum + " must be 10 characters");
for (int i=0;i<bookNum.length();i++)
{
if (Character.isDigit(bookNum.charAt(i)))
book[j]=bookNum.charAt(i); //this is the problem right here
j++;
if (book[9].isNotDigit()||
book[9]!="x" ||
book[9]!="X")
throw new ISBNException ("ISBN " + bookNum + " must contain all digits" +
"or 'X' in the last position");
}
Run Code Online (Sandbox Code Playgroud)
哪个不会编译.我从另一个问题得到的答案告诉我,错误发生的行是错误的,因为bookNum.charAt(i)是一个(不可变的)字符串,我无法将这些值转换为书籍数组.我需要做的是检查一个ISBN号(bookNum),看它是否都是数字,除了最后一位数字可以是'x'(有效的ISBN).这是最好的方法吗?如果是这样,我到底做错了什么?如果没有,用什么方法会更好?