string-输出总是“请输入i的值 3 请输入您的姓名: 请输入您的性别:”不能输出第一个String

问题描述

输出总是“请输入i的值 3 请输入您的姓名: 请输入您的性别:”不能输出第一个String

import java.util.*;
public class Myproject {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入i的值");
int i=in.nextInt();
int j=0;
for(j=1;j<=i;j++)
{

System.out.println("请输入您的姓名:");
String nname=in.nextLine();
System.out.println("请输入您的性别:");
String nsex=in.nextLine();
System.out.println("请输入您的年龄:");
int nage=in.nextInt();
System.out.println("请输入您的成绩:");
float nscore=in.nextFloat();
Student stu=new Student();

stu.name=nname;
stu.sex=nsex;
stu.age=nage;
stu.score=nscore;
stu.speak("年龄:"+stu.age+"岁;");
stu.grade(stu.score);
}
}

}
class Student{
String name;
String sex;
int age;
float score;
public void speak(String inStr){
System.out.print("自我介绍:我叫"+name+";"+"性别:"+sex+";"+inStr);//可以加其他语句
}
public void grade(float inScore){
System.out.println("java成绩:"+inScore);
}
}

解决方案

原因:nextInt()不读入“n”;而nextLine()读入"n"。
在你输入“3+回车"进入下一个输入环节的时候,"3"被nextInt()读入,而回车(相当于"n")还留着。下一个nextLine()就把那个"n"给读进去。
给人一种跳过输入的假象,其实是他读了一个空行。
解决办法:在"int i=in.nextInt();"下面紧接一行"in.nextLine();"。不需要变量接收他。他去读入那个"n"。之后就都正常了。

解决方案二:

解决方案三:

用next去读string类型的OK了

时间: 2024-11-02 22:33:46

string-输出总是“请输入i的值 3 请输入您的姓名: 请输入您的性别:”不能输出第一个String的相关文章

求一JavaScript句子,怎么写这么句话? 如果,页面上一个TextBox的Text的值 不等于 该页面的一个string字段值 就弹出一对话框,说您输入的验证码不正确?

问题描述 ,我是想让一个Button按钮单击时,先触发这个javascript事件,而且不让他回发,然后再触发Button的OnClick事件.我是这么写的:if(!IsPostBack){Button按钮.Attributes.Add("OnClick",""); }请问这么写对吗?但是我那段javascript码不会写,请你们指点一下下!!意思是:在页面上有一个Textbox控件,在页面的后台有定义了一个string变量, 用javascript写:如果,Textbox控件的Tex

求解决-按照例子不能正常输出,程序不知道那里出错误了,请大神们指出来,我好改正,请用c语言编写

问题描述 按照例子不能正常输出,程序不知道那里出错误了,请大神们指出来,我好改正,请用c语言编写 #include #include /**本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素. 输入格式: 输入在第一行中给出一个正整数n(1≤n≤10).第二行输入n个整数,用空格分开. 输出格式: 在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格. 输入样例: 4 10 8 1 2 输出样例: 2 1 8 10 **

当向计算机中存入一个float类型的数值2.2 后,在从计算机中读出输出,这时2.2 的值已经发生了变化(转)

 problom : 'f1' value hava been changed when output. reason : the binary repersentation of 2.2f is : 00110011001100110011... (is an infinite recurring decimal) but computer only store 24 byte , so discard the remaining number , lead to the value has

1-2 输出N个数的平方和立方值

1-2 输出N个数的平方和立方值 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 通过本题目的练习可以掌握C++的输入.输出方法 利用VC++开发环境,创建一个控制台应用程序,利用cin.cout语句使得程序能够根据输入的整数值,输出相应的平方和立方值 Input   一个整数 Output   由两部分组成,第一部分占一行,输出表头"Number Square Cube ":注意每一项占一个制表符的宽度(使用&

java-css样式传值问题(不要输入固定的值)

问题描述 css样式传值问题(不要输入固定的值) 想将下面的30px用窗口高度来表示~ 有谁能帮一下~ .affix{ top:30px; position:fixed } .affix-bottom{ position:absolute; } 解决方案 这个不能修改的,不过你可以dom的方式对其的样式做修改.就是加入一些新的top样式,使原来top失效. 解决方案二: top:expression(eval(document.documentElement.scrollTop));是不是想这个

Excel一个单元格里如何输入多个值

  1.选中需要输入多个值的单元格,接着按住Ctrl键的同时再次点击该单元格,单元格周边将出现实线框. 2.这个时候我们在单元格里输入数据后敲击回车键还是会保留在该单元格里. 3.这样就可以反复多次在一个单元格里输入数据啦.

mysql 数据库-关于mysql关联多列查询,分组查询并输出每组数据的中值

问题描述 关于mysql关联多列查询,分组查询并输出每组数据的中值 imei phone key value 863184021544828 lenovoa788t c14 484 355799050650579 samsungi9500 c14 542 355799050650579 samsungi9500 c14 623 868331013987821 huaweiu9508 c14 523 868331013987821 huaweiu9508 c14 498 8683310139878

请问VB.NET怎么输出 ,max对应的i值

问题描述 请问VB.NET怎么输出 ,max对应的i值 Q1 = Me.TextBox5.Text Dim num As Single max1 = 0 For i = 0 To Q1 num = Math.Sin(i * Math.PI / 180) If max1 < num Then max1 = num Next i Me.TextBox15.Text = max1 解决方案 Q1 = Me.TextBox5.Text Dim num As Single max1 = 0 For i =

struct-用注释替换源代码后,直接跳过从键盘输入sex的值,执行salary的输入,什么情况?不好编辑,有点难看,谅解

问题描述 用注释替换源代码后,直接跳过从键盘输入sex的值,执行salary的输入,什么情况?不好编辑,有点难看,谅解 #include #include #include struct worker_List { char name[20]; char sex[1];//char sex: long salary; }; int main() { int len = 0; struct worker_List *str; int i = 0; char name[20]; printf ("p