我刚学会了当按回车键响应a时System.in.read(),将以下字符放入控制台缓冲区,\r\n.因此,当我将以下内容输入1终端并按Enter键时,计算机将该语句读作1\r\n.所以不System.out.println("hello")应该两次被罚款?因为choice会存储价值1.然后,"hello"将被打印.然后,ignore将保持该值\r.然后,控制将while(ignore != '\n')循环.然后,ignore将保持该值\n.然后,"hello"将被打印.现在ignore = \n,代码将突破循环?
class HelpClassDemo {
public static void main(String args[])
throws java.io.IOException {
char choice, ignore;
for(;;) {
do {
System.out.println("Help on:");
System.out.println(" 1. if");
System.out.println(" 2. switch");
System.out.println(" 3. for");
System.out.println(" 4. while");
System.out.println(" 5. do-while");
System.out.println(" 6. break");
System.out.println(" 7. continue\n");
System.out.print("Choose one (q to …Run Code Online (Sandbox Code Playgroud) 这是我的目标:当Start点击按钮时,我希望Send启用按钮。以下是我的视图控制器加载后的样子:
如您所见,Send按钮被禁用,这是所期望的。我通过在我的中编写以下代码来禁用它TaskListTableViewCell.swift(为了简洁起见,我删除了一些其他不相关的代码):
class TaskListTableViewCell: UITableViewCell {
@IBOutlet weak var sendButton: UIButton!
override func awakeFromNib() {
super.awakeFromNib()
sendButton.enabled = false
}
}
Run Code Online (Sandbox Code Playgroud)
为了以防万一它可以帮助您看得更清楚,这就是视图控制器在以下位置的样子Main.storyboard:
在我的中TaskListViewController,我有以下代码:
@IBAction func startButtonTapped(sender: AnyObject) {
//write the code here to change sendButton.enabled = true
}
Run Code Online (Sandbox Code Playgroud)
问题是,我似乎找不到改变sendButton.enabled = true. 我试过了:
@IBAction func startButtonTapped(sender: AnyObject) {
let taskListViewController = TaskListViewController()
taskListTableViewCell.sendButton.enabled = true
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
class TaskListTableViewCell: UITableViewCell {
@IBOutlet weak var sendButton: UIButton!
func …Run Code Online (Sandbox Code Playgroud) 我试图扭转一个字符串(但这不是我的问题).问题是尝试在给定某个索引的情况下更改字符串数组的值.但是,每次我尝试更改索引的值时,都会出现总线错误.即,Bus error: 10.我不确定这意味着什么.此外,我试过,str[0] = "a"但这也给我一个总线错误.有什么建议来解决这个问题
#include <iostream>
using namespace std;
void reverse(char* str){
str[0] = 'a';
}
int main(){
char* str = "hello";
reverse(str);
}
Run Code Online (Sandbox Code Playgroud) 为什么地址不会随着我增加str而改变?我认为当我执行指针运算时,指针指向不同的内存地址.因此,内存地址不应该改变吗?
#include <iostream>
using namespace std;
void reverse(char* str){
cout << &str << endl;
while(*str != '\0'){
cout << &str << endl;
str++;
}
}
int main(){
char str[] = "hello";
reverse(str);
}
Run Code Online (Sandbox Code Playgroud) 我一直在查看 UIViewController 类并试图理解它的一些代码,即get类中提到的。我在谷歌上搜索过“什么是 get{} 在 swift 中的含义”,并找到了以下资源:Swift 什么是“get”和“set”?和https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html,在“计算机属性”部分下。但是,get这里提到的那个不是我要找的,也就是说,get这两个链接中提到的这两个都是以下形式:
var center: Point {
get {
let centerX = origin.x + (size.width / 2)
let centerY = origin.y + (size.height / 2)
return Point(x: centerX, y: centerY)
}
Run Code Online (Sandbox Code Playgroud)
注意get {}这里。但是,get我感到困惑的内容如下:
extension UIViewController {
// These objects may be used as layout items in the NSLayoutConstraint API
@available(iOS 7.0, *)
var topLayoutGuide: UILayoutSupport { get }
@available(iOS 7.0, *) …Run Code Online (Sandbox Code Playgroud)