我想让用户只输入"y""Y""n"或"N".生成的代码要求用户在输入正确的输入时输入Y或N,这与我预期的放置相反!在input.equalscaseignore(输入)前面.
import java.util.Scanner;
class inputVal {
public static void main(String[] args) {
String Input;
Scanner keyboard = new Scanner(System.in);
System.out.println("Please enter Y or N. ");
Input = keyboard.nextLine();
while (!Input.equalsIgnoreCase("Y") || !Input.equalsIgnoreCase("N"))
{
System.out.println("Please enter Y or N");
Input = keyboard.nextLine();
}
keyboard.close();
}
}
Run Code Online (Sandbox Code Playgroud) 请帮我解释一下这个存储过程的语法?这是在oracle的SQL开发人员中完成的.
存储过程的目的是允许CALL函数将新记录插入CLASS表(使用下面的语法创建):
CREATE TABLE class
(
class_number NUMBER(8),
teacher_name VARCHAR2(50),
class_name VARCHAR2(50) NOT NULL,
start_date DATE,
end_date DATE,
class_category VARCHAR2(20),
topic VARCHAR2(20),
teacher_credential VARCHAR2(40),
CONSTRAINT pk_class PRIMARY KEY (class_number,teacher_name,class_name,start_date)
);
Run Code Online (Sandbox Code Playgroud)
使用下面编码的存储过程和序列,应该创建一个新类,如果结束日期在开始日期之前,那么结束日期应该是默认的开始日期+两周.
CREATE SEQUENCE class_number_seq;
CREATE OR REPLACE PROCEDURE insert_class
(
Teacher_name_param class.teacher_name%TYPE,
class_name_param class.class_name%type,
start_date_param class.start_date%TYPE ,
end_date_param class.end_date%TYPE,
class_category_param class.class_category%TYPE,
topic_param class.topic%TYPE,
end_date_param class.end_date%TYPE
)
AS
class_number_var class.class_number%TYPE;
end_date_var class.end_number%TYPE;
BEGIN
SELECT class_number_seq.NEXTVAL INTO class_number_var FROM dual;
IF end_date_param < start_date_param OR end_date_param IS NULL THEN
end_date_param := start_date_param …Run Code Online (Sandbox Code Playgroud)